Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Vous avez demandé le commentaire #920290.

Retourner sur le contenu associé.

Re: Incohérence

Posté par Christophe --- () le 06/04/2008 à 16:12. (lien). Évalué à 2.

la variable r ne sert à rien, car comme indiqué au fin-fond de la page de man de bash:

If a command is terminated by the control operator &, the shell executes the command in the background in a subshell.

Le subshell signifie qu'il a lancé un nouveau shell, donc la variable r n'est plus la même, donc changer sa valeur dans le premier shell ne sera pas vu dans le deuxième shell.

Si tu fais rm tube, tu détruit le "fichier", mais pas ce qui lis de l'autre côté. Si tu ne veux pas de problème, il faut faire:

echo "quit" > $MAFIFO ; sleep 1; echo "exit" > $MAFIFO
sleep 1; rm $MAFIFO


comme dans mon 2e exemple, pour n'éffacer le "fichier" que quand l'autre côté en a bien terminé avec.

[ Répondre ]