Sous Linux, quand un terminal se ferme, il envoie un signal SIGHUP (Signal Hang UP) à tous les processus enfants. Ce signal cause normalement l'arrêt du processus. C'est un mécanisme historiqueherited du temps où les terminaux étaient des machines physiques.
nohup protège un processus contre le signal SIGHUP. Le processus continuera à tourner même si le terminal est fermé.
Par défaut, nohup redirige la sortie standard vers nohup.out. Vous pouvez changer ce comportement :
Il existe plusieurs ways de détacher un processus :
nohup commande & — Lance une commande immune au signal SIGHUP
Par défaut, la sortie va dans nohup.out
Redirigez la sortie vers un fichier ou /dev/null selon vos besoins
Vérifiez avec ps aux | grep que le processus tourne toujours
Pour un contrôle plus avancé, utilisez screen ou tmux (voir leçons 27 et 41)