nohup
Un article de Wikipédia, l'encyclopédie libre.
Cet article est une ébauche concernant l’informatique.
Vous pouvez partager vos connaissances en l’améliorant. (Comment ?).
|
Nohup est une commande Unix permettant de lancer un processus qui restera actif même après la déconnexion de l'utilisateur l'ayant initiée. Combiné à l'esperluette qui permet le lancement en arrière-plan, nohup permet donc de créer des processus s'exécutant de manière transparente sans être dépendants de l'utilisateur.
[modifier] Fonctionnement
Au moment de la déconnexion d'un utilisateur, le daemon qui détecte cette déconnexion (telnetd, sshd, ...) envoie un signal SIGHUP (signal 1) aux processus enfants, et l'action associée par défaut à ce signal est la fin du processus. nohup va ignorer le signal SIGHUP (d'où son nom) puis exécuter le programme indiqué en ligne de commande, de sorte que celui-ci sera immunisé contre le signal SIGHUP.
[modifier] Exemple
La première ligne de commande ci-dessous démarre le programme mon_programme
en tâche de fond de telle façon qu'une déconnexion ne l'arrêtera pas.
$ nohup mon_programme & $ exit
Cet autre exemple montre comment rediriger la sortie vers un fichier texte autre que nohup.out (défaut).
$ nohup mon_programme > out.file &