Détacher un processus

Portrait de paul

Vous avez lancé une commande, elle prend plus de temps que prévu et vous aimeriez vous déconnecter de la machine tout en la laissant tourner en arrière plan ?

Voici comment faire avec Bash ou Zsh. Tout d'abord mettre en pause le processus courant en appuyant sur Control + z. Le processus est alors suspendu. Vous pouvez le relancer au premier plan en tapant fg (foreground) ou en arrière plan en tapant bg (background).

Il suffit donc le relancer en arrière plan. Mais en l'état actuel si vous vous déconnectez il sera tué car attaché à votre shell, qui sera passé de vie à trépas lors de votre connexion.
Pour éviter cela il faut demander au shell de renier le processus fils en tapant disown -h (ou simplement disown avec zsh).

Maintenant vous pouvez vous déconnecter et laisser tourner votre processus pendant ce temps-là.