Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

programmation systeme c

2 réponses
Avatar
nico
bonsoir,
j ai un petit probleme:
je tente de faire un programme qui reproduit les backquote du
shell. ex: echo `pwd`
Celui ci marche tres bien quand le programme forke n'utilise pas
d'interface (termcaps, ncurses...).
Par contre des que celui ci utilise une interface (comme pine)
il recoit automatique un SIGHUP. Je ne sais absolument pas la
raison de ce signal.
En gros je fork un proc , je cree un nouvau groupe pour ce
process, et l'execute. Pendant ce temps dans le pere je fais un
read bloquant sur le pipe que j ai precedement ouvert et ou le
proccess ecrit(j ai effectue un dup2).
J ai essaye d attacher le pgid du process au tty (foreground):
celui lance l interface mais plus moyen de ne rien faire.

Merci d'avance pour vos reponses.
--
Nico

2 réponses

Avatar
kilobug

bonsoir,
j ai un petit probleme:
je tente de faire un programme qui reproduit les backquote du
shell. ex: echo `pwd`
Celui ci marche tres bien quand le programme forke n'utilise pas
d'interface (termcaps, ncurses...).


echo `nano` ou echo `emacs -nw` ou autre ne marche pas non plus.

Qu'est-ce que tu voudrais que ça fasse exactement ? Si tu veux
capturer ce qu'un programme affiche sur le tty tout en le laissant
fonctionner, un peu comme "script" le fait, il faut que tu alloues un
pty avec openpty ou forkpty et que tu reproduises sur le terminal
local ce qu'il écrit dans le pty.

Tu peux trouver le code source de script par exemple dans:
http://ftp.fr.debian.org/debian/pool/main/u/util-linux/util-linux_2.12.orig.tar.gz
Par contre des que celui ci utilise une interface (comme pine)


<hs>pine, c'est mal, c'est pas libre</hs>

--
Gael Le Mignot "Kilobug" - - http://kilobug.free.fr
GSM : 06.71.47.18.22 (in France) ICQ UIN : 7299959
Fingerprint : 1F2C 9804 7505 79DF 95E6 7323 B66B F67B 7103 C5DA

Member of HurdFr: http://hurdfr.org - The GNU Hurd: http://hurd.gnu.org

Avatar
nico
On Tue, 08 Jun 2004 10:17:38 +0200



bonsoir,
j ai un petit probleme:
je tente de faire un programme qui reproduit les backquote
du
shell. ex: echo `pwd`
Celui ci marche tres bien quand le programme forke
n'utilise pas
d'interface (termcaps, ncurses...).


echo `nano` ou echo `emacs -nw` ou autre ne marche pas non
plus.

Qu'est-ce que tu voudrais que ça fasse exactement ? Si
tu veux
capturer ce qu'un programme affiche sur le tty tout en le
laissant
fonctionner, un peu comme "script" le fait, il faut que tu
alloues un
pty avec openpty ou forkpty et que tu reproduises sur le
terminal
local ce qu'il écrit dans le pty.

Tu peux trouver le code source de script par exemple dans:
http://ftp.fr.debian.org/debian/pool/main/u/util-linux/util-linux_2.12.or ig.tar.gz
Par contre des que celui ci utilise une interface (comme
pine)


<hs>pine, c'est mal, c'est pas libre</hs>

--
Gael Le Mignot "Kilobug" - -
http://kilobug.free.fr
GSM : 06.71.47.18.22 (in France) ICQ UIN : 7299959
Fingerprint : 1F2C 9804 7505 79DF 95E6 7323 B66B F67B 7103
C5DA

Member of HurdFr: http://hurdfr.org - The GNU Hurd:
http://hurd.gnu.org


merci pour ttes ces infos c vraiment sympa !
<hs>oups dsl pour pine en + j utilise mutt :)<hs>
je vais regarder de plus pres pour les pty merci ;)

--
Nico