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

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


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é. Un process lancé sans le & peut être mis en
arrière plan avec ctrl+z. Il est alors stopé (mais pas killé), on le
redémarre avec la commande bg. pour le rattraper, on tape fg. Pour avoir
la liste des jobs en arrière plan, on tape jobs.
-- 
Raphaël
« Tout chercheur plongé dans la science subit une poussée de bas en haut susceptible de lui remonter le moral. »
Monsieur Cyclopède

--

   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/