Trucs:Laisser tourner un processus même si on ferme le terminal

De Lea Linux
Aller à la navigation Aller à la recherche
Jonesy<jonesy@wanadoo.fr>

Il m'arrive souvent de lancer une application X (gtfp, emacs, ...) sous un terminal. Puis j'oublie et je ferme le terminal et cela ferme l'application X aussi !

Note du modérateur (Jicé) : la raison est que Linux considère le processus lancé dans le terminal comme un "fils" du processus du terminal ; de plus, lorsqu'on arrête un processus, tous ses processus "fils" sont automatiquements terminés.

Pour éviter cela, il suffit de lancer votre application "sans père". En faisant comme ceci :
nohup votre-appli-x &

N'oubliez pas le &, sinon il ne vous rend pas la main sous le terminal et vous ne pourrez le fermer sans fermer l'application X.
Donc par exemple, pour lancer emacs :
nohup emacs &
Bien sûr, si l'application réclame des paramètres il suffit de les mettre avant le &, comme ceci :
nohup emacs toto.txt &

Ceci est applicable à tous les processus que vous voulez laisser tourner même si vous fermez le terminal.

Note : Suivant le terminal que vous utilisez, il ferme quand même le processus si vous fermez le terminal avec la "croix" (en haut à droite). Pour sortir du terminal, préférez :
exit

Si vous n'avez pas lancé le processus ou l'application avec nohup et que vous voulez comme même pouvoir fermer le terminal, utilisez disown

Par exemple :

$ disown 888

888 étant le PID du processus que vous voulez garder "en vie".