Movatterモバイル変換


[0]ホーム

URL:


Aller au contenu
Wikipédial'encyclopédie libre
Rechercher

nohup

Un article de Wikipédia, l'encyclopédie libre.

Nohup est une commandeUnix permettant de lancer unprocessus 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.

Fonctionnement

[modifier |modifier le code]

Lorsqu'un utilisateur se déconnecte, ledaemon qui détecte cette déconnexion (telnetd,sshd, ...) envoie lesignal SIGHUP (signal 1) aux processus enfants, ce qui provoque par défaut la fin du processus. nohup ignore le signal SIGHUP (d'où son nom) puis exécute le programme indiqué en ligne de commande, de sorte que celui-ci sera immunisé contre le signal SIGHUP.

Toutefois, leprocessus lancé est libre de définir lui-même l'action qu'il désire associer au traitement du signal SIGHUP. En effet, cette immunité est héritée du processus initial nohup vers ses fils (viafork/exec (en)). Si un programme tiers, pour des raisons de design ou de spécification du programme, choisit de ne pas ignorer ce signal, voire de placer son propre gestionnaire à cette fin, alors ce programme tiers ne sera pas protégé contre les fermetures de terminaux, ou en général contre la réception du signal SIGHUP.

Enfin, l'utilisation denohup oublie souvent des aspects liés auxdescripteurs. En effet, la commandenohup s'occupe de rediriger lessortie et erreur standards, mais par contre elle ne fait rien à propos de l'entrée standard. Dans la majorité des premiers usages, lors de la déconnexion du terminal, l'on reçoit un message comme« There are running jobs. », lequel est provoqué par le fait que le processus tiers est toujours lié au terminal par son entrée standard. Cet inconvénient peut être levé enredirigeant explicitement l'entrée standard du processus tiers.

Exemple

[modifier |modifier le code]

La première ligne de commande ci-dessous démarre le programmemon_programme entâ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 &

Voici un exemple avec redirection de l'input standard pour éviter qu'il ne se bloque à la fermeture du terminal.

$ nohup mon_programme 0</dev/null &

Voir aussi

[modifier |modifier le code]
v ·m
Aide
Environnementutilisateur
Gestion deprocessus
Manipulation detexte
Programmationshell
Recherche
Réseau
Système de fichiers
Divers
Ce document provient de « https://fr.wikipedia.org/w/index.php?title=Nohup&oldid=210856558 ».
Catégorie :
Catégories cachées :

[8]ページ先頭

©2009-2025 Movatter.jp