nohup

Saturday, 10 March 2012
|
Écrit par
Grégory Soutadé

Petit zoom sur une commande peu connue mais qui peut être très utile (surtout lorsqu'on administre un serveur) : nohup.

Pour la partie technique, nohup exécute un processus en ignorant au préalable le signal hup child. Signal qui est envoyé aux processus fils lorsque le processus père meurt et, comme tout le monde le sait, lorsqu'un processus reçoit un signal auquel il n'est pas préparé, il meurt (à ce niveau c'est un génocide !!). La principale utilité est donc de ne pas tuer un processus après fermeture du terminal, ce qui se révèle particulièrement utile lorsqu'on accède à une machine par SSH.

Petite subtilité : nohup redirige le flux de sortie standard dans le fichier "nohup.out", mais pas le flux d'erreur. Donc si l'on veut conserver l'affichage sur la sortie standard on lancera un autre terminal avec un "tail -f nohup.out". C'est un inconvénient, mais surtout un avantage lorsque l'on veut accéder à posteriori au log du processus (que l'on peut toujours rediriger, si on le souhaite, dans un fichier).

Auteur :


e-mail* :


Le commentaire :




* Seulement pour être notifié d'une réponse à cet article
* Only for email notification