Accueil

Laisser tourner un processus

Par jonesy.

Vous souhaitez pouvoir lancer un processus (script shell, application X, ...) depuis une session shell ou un terminal, et quitter la session ou le terminal sans tuer le processus lancé ?

C'est possible en détachant le processus fils du processus père.

Le processus père étant le processus de la session shell ou du terminal, le fils étant le processus à laisser tourner. Ceci est nécessaire car sous Unix, chaque processus est rattaché à un processus père et lorsque l'on tue le père, on tue aussi tous ses fils.

Pour détacher le processus de son père, faire :

$ nohup le_processus  &

Si vous n'avez pas lancé le processus ou l'application avec nohup et que vous voulez quand même pouvoir fermer la session ou le terminal, utilisez disown. Cette commande a pour effet de détacher le fils du père.

Par exemple :

$ disown 666

666 étant le PID ( Processus IDentifier ) du processus que vous voulez garder en vie. Vous pouvez retrouver ce PID via la commande ps.

Il se peut aussi que vous ayez besoin de reprendre la main dans une console.

Thèmes : #administration #jonesy #trucs

Sauf indication contraire, ce document est placé sous licence CC-BY-SA 3.0.