Re: [CBLX] Commande bash terminée par '&'

[ Thread Index | Date Index | More lists.tuxfamily.org/carrefourblinux Archives ]


Raphaël POITEVIN wrote on Fri, Jan 09, 2015 at 07:04:35PM +0100
> Gilles Touzé <gilles.touze@xxxxxxxxxxx> writes:
> > Je le vois un peu différemment (des vrais pros pourraient me confirmer... ou
> > pas) : quand on lance des commandes dans un shell, elles sont exécutées avec
> > le même environnement, elles partagent donc toutes les variables
> > d'environnement ; si on interromps le shell, tout s'arrête.
> 
> Pas tout à fait.
> 
> > Lorsque l'on met le "&" à la fin de la commande, on demande au shell de créer
> > un nouvel environnement autonome, initialisé avec les valeurs des variables
> > identiques aux valeurs dans le shell parent. Par la suite, la commande
> > s'exécute dans son propre environnement et n'est plus affecté par ce qui se
> > passe dans le shell parent (on peut le fermer, la tâche continue en tâche de
> > fond, mais aussi, les valeurs des variables évoluent indépndamment les unes
> > des autres).
> 
> Quand on exécute un process, un fork du process père est créé dans le
> process fils. Le fils hérite des variables d'environnement du père. Les
> nouvelles variables créées dans le fils ne sont pas répercutées chez le
> père. Que ce soit en forground ou en background en lançant avec le
> fâmeux &. Un process lancé avec & permet de ne pas bloquer le shell
> depuis lequel on l'a lancé. 

En d'autres termes, avec le signe & ajouté derrière la commande, le
processus qui l'exécute est lancé de façon asynchrone.  un « mauvais
exemple » : exécuter

$ ls &

et on remarque que le prompt du shell s'affiche avant l'affichage du
résultat de la commande ls.  Non pas qu'il y ait inversion mais le
shell redonne la main simplement plus vite que l'exécution de la
commande ls.  Avec la commande pwd, l'ordre d'affichage peut être
différent si le programme est inclus au shell.

dom
-- 

-- 

   CarrefourBLinuX MailingListe 
   Pour obtenir de l'aide, envoyez le sujet  help  à: 
   carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
   Archives: 
   http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/