Bonjour,
Je débute en venant de DOS et je comprends pas bien comment dans un shell
positionner une variable pour qu'elle soit valide en sortie du shell
exemple
#!/bin/sh
TOTO=123
echo $TOTO
j'ai bien 123
mais si je lance manuellement echo $TOTO , je n'ai plus rien
Une autre question , est ce qu'il est possible de lancer un executable en
tache de fond a partir d'un shell
#!/bin/sh
Monexe1
Monexe2
Monexe3
en fait je veux lancer un executable (Monexe2)qui ne s'arrête que 10
minutes plus tard. mais je veux que le shell sorte directement.
D'ailleurs, je me demande si disown dans zsh ne fait pas un setsid plutôt qu'un masque des signaux.
Ni l'un ni l'autre : disown raye le processus de la table des jobs de zsh, ni plus ni moins.
Stephane Chazelas
2005-04-11, 13:23(+00), Nicolas George:
Stephane Dupille wrote in message :
Au moins, nohup est portable...
Oui. Hélas.
D'ailleurs, je me demande si disown dans zsh ne fait pas un setsid plutôt qu'un masque des signaux.
Ni l'un ni l'autre : disown raye le processus de la table des jobs de zsh, ni plus ni moins.
Et en particulier, il ne bloque pas les HUP. De toutes facons, un process (le shell) ne peut heureusement pas changer le signal handling d'un autre process (a moins de faire comme on ferait par gdb). Pas plus qu'un process ne peut changer la session d'un autre (en plus, comme les jobs sont des nouveaux process group, raison de plus pour qu'ils ne puissent devenir des sessions).
Note qu'on peut tres bien se passer de nohup:
(trap '' HUP; exec cmd) > nohup.out 2>&1
fait la meme chose que:
nohup cmd
(a ceci pres que nohup peut aussi trapper d'autres signaux suivant les implementations).
-- Stéphane
2005-04-11, 13:23(+00), Nicolas George:
Stephane Dupille wrote in message
<m2hdidiv7g.fsf@gimli.dustnet.teaser.fr>:
Au moins, nohup est portable...
Oui. Hélas.
D'ailleurs, je me demande si disown
dans zsh ne fait pas un setsid plutôt qu'un masque des signaux.
Ni l'un ni l'autre : disown raye le processus de la table des jobs de zsh,
ni plus ni moins.
Et en particulier, il ne bloque pas les HUP. De toutes facons,
un process (le shell) ne peut heureusement pas changer le signal
handling d'un autre process (a moins de faire comme on ferait
par gdb). Pas plus qu'un process ne peut changer la session d'un
autre (en plus, comme les jobs sont des nouveaux process group,
raison de plus pour qu'ils ne puissent devenir des sessions).
Note qu'on peut tres bien se passer de nohup:
(trap '' HUP; exec cmd) > nohup.out 2>&1
fait la meme chose que:
nohup cmd
(a ceci pres que nohup peut aussi trapper d'autres signaux
suivant les implementations).
D'ailleurs, je me demande si disown dans zsh ne fait pas un setsid plutôt qu'un masque des signaux.
Ni l'un ni l'autre : disown raye le processus de la table des jobs de zsh, ni plus ni moins.
Et en particulier, il ne bloque pas les HUP. De toutes facons, un process (le shell) ne peut heureusement pas changer le signal handling d'un autre process (a moins de faire comme on ferait par gdb). Pas plus qu'un process ne peut changer la session d'un autre (en plus, comme les jobs sont des nouveaux process group, raison de plus pour qu'ils ne puissent devenir des sessions).
Note qu'on peut tres bien se passer de nohup:
(trap '' HUP; exec cmd) > nohup.out 2>&1
fait la meme chose que:
nohup cmd
(a ceci pres que nohup peut aussi trapper d'autres signaux suivant les implementations).