Philippe Monroux <[EMAIL PROTECTED]> writes:

>     /usr/game/fortune > /home/phi/signature # /home/phi/signature
>     est un tube nomm�

> Et quand je le lance par :/home/phi/bin/signature.sh, signature.sh
> est lanc� deux fois....

> Ca vient du tube. Car si je supprime le tube signature avant de lancer
> le script puis que je le relance, il n'y a plus qu'un process.
> C'est � priori un comportement normal.

Le shell fait un fork pour lancer fortune via execve et redirige la
"sortie" de ce fork vers /home/phi/signature.

Si /home/phi/signature n'existe pas, il est cr�� avec le r�sultat de
la commande fortune, tu ne vois pas de "double script" car tu n'en as
pas le temps.

Si /home/phi/signature est un tube nomm� le fork attend que ce tube
soit ouvert "des deux c�t�s" pour lancer fortune : tu as tout le temps
de voir un "double script" avec ps dans l'intervalle, l'execve lan�ant
fortune n'a pas encore �t� fait, le fork si.

A part cette notion de "temps pass�", il n'y a aucune diff�rence du
point de vue du script et de fortune entre les deux situations.

              Jean Charles
-- 
Jean Charles Del�pine - �quipe R�seaux T�l�coms - Universit� de Picardie

Répondre à