logo

Commande nohup sous Linux avec exemples

Chaque commande sous Linux démarre un processus au moment de son exécution, qui se termine automatiquement à la sortie du terminal. Supposons que vous exécutiez des programmes via SSH et que si la connexion est interrompue, la session sera terminée, tous les processus exécutés s'arrêteront et vous pourriez être confronté à une énorme crise accidentelle. Dans de tels cas, exécuter des commandes en arrière-plan peut être très utile à l'utilisateur et c'est là que commande nohup entre en scène. nohup (Pas de raccroche) est une commande dans les systèmes Linux qui exécute le processus même après s'être déconnecté du shell/terminal.

Commande Nohup

Habituellement, chaque processus dans les systèmes Linux reçoit un SIGHUP (signal raccroché) qui est responsable de mettre fin au processus après la fermeture/sortie du terminal. La commande Nohup empêche le processus de recevoir ce signal lors de la fermeture ou de la sortie du terminal/shell. Une fois qu'un travail est démarré ou exécuté à l'aide de la commande nohup, entrée standard ne sera pas disponible pour l'utilisateur et nohup.out Le fichier est utilisé comme fichier par défaut pour sortie standard et stderr . Si la sortie de la commande nohup est redirigée vers un autre fichier, nohup.out Le fichier n'est pas généré.



Syntaxe de la commande Nohup

La syntaxe d'utilisation de la commande Nohup est simple :

où sont les paramètres du navigateur
nohup command [options] &>
  • `command`> : Spécifie la commande ou le script que vous souhaitez exécuter.
  • `[options]`> : Arguments ou drapeaux facultatifs qui modifient le comportement de la commande.
  • `&`> : Placer une esperluette (&) à la fin de la commande indique au shell d'exécuter la commande en arrière-plan.

Travailler avec la commande nohup

Vérifier la version de Nohup

Vérifier la version de Nohup est un processus simple. Vous pouvez généralement vérifier la version de Nohup installée sur votre système en utilisant le ` --version`> drapeau. Exécutez simplement la commande suivante :



nohup --version>

Sortir:

Démarrage d'un processus à l'aide de Nohup

Pour démarrer un processus à l'aide de Nohup, ajoutez simplement la commande souhaitée avecnohup>. Par exemple, si vous souhaitez exécuter un script bash nommégeekfile.py>en utilisant Nohup, vous utiliseriez la commande suivante :



nohup bash geekfile.sh>

Sortir:

fmoviez

Pour rediriger la sortie vers le sortie.txt déposer:

nohup bash geekfile.sh>sortie.txt>

Sortir:

Démarrage d'un processus en arrière-plan à l'aide de Nohup

Pour exécuter la commande en arrière-plan, le ' &' Le symbole est ajouté à la fin de la commande. Après l'exécution, il ne revient pas à l'invite de commande du shell après avoir exécuté la commande en arrière-plan. Il peut être ramené au premier plan grâce au fg commande.

nohup bash geekfile.sh & fg>

Sortir:

Note: Le nombre entre crochets représente le identifiant de travail et le numéro à côté est le identifiant du processus .

tous les 2 mois

Pour exécuter plusieurs commandes en arrière-plan

La commande nohup peut être utilisée pour exécuter plusieurs commandes en arrière-plan.

nohup bash -c 'commands'>

Exemple:

nohup bash -c 'cal && ls'>

Sortir:

Ici, la sortie sera par défaut stockée dans nohup.out . Pour le rediriger, tapez :

nohup bash -c 'commands'>nom de fichier.txt>

Exemple:

nohup bash -c 'cal && ls'>sortie.txt>

Sortir:

bouton central en CSS

Commande nohup sous Linux – FAQ

Quel est le nohup> commande sous Linux, et que fait-elle ?

Le nohup> la commande signifie ne pas raccrocher. Il vous permet d'exécuter une commande ou un script shell de telle manière qu'il continue à s'exécuter même après vous être déconnecté ou fermé le terminal. Cela empêche la commande de se terminer à la fin de la session du terminal.

tuple de tri python

Comment puis-je utiliser le nohup> commande?

Utiliser nohup> , ajoutez-le simplement à la commande que vous souhaitez exécuter. Par exemple:

nohup command_to_run &>

Le &> Le symbole à la fin place la commande en arrière-plan, vous permettant de continuer à utiliser le terminal pendant l'exécution de la commande.

Où est-ce que nohup> envoyer le résultat de la commande ?

Par défaut, nohup> redirige à la fois la sortie standard (stdout) et l'erreur standard (stderr) vers un fichier nommé nohup.out> dans le répertoire courant. Vous pouvez spécifier un fichier de sortie différent si vous le souhaitez.

Puis-je utiliser nohup> avec des commandes ou des programmes interactifs ?

Alors que nohup> est généralement utilisé avec des commandes ou des scripts non interactifs, vous pouvez l'utiliser avec des commandes interactives. Cependant, le comportement peut être imprévisible, surtout si la commande attend une entrée de l'utilisateur. Il est généralement recommandé d’éviter d’utiliser nohup> avec des programmes interactifs.

Comment puis-je vérifier l'état d'une commande exécutée avec nohup> ?

Depuis nohup> exécute la commande en arrière-plan, vous pouvez utiliser des outils Linux standard tels que ps> ou top> pour vérifier l'état du processus. Par exemple:

ps aux | grep>

Cela vous montrera des informations sur le processus, y compris son PID (Process ID), que vous pourrez ensuite utiliser pour gérer ou surveiller la commande.

Conclusion

Sous Linux, lorsque vous exécutez une commande, elle s'arrête généralement lorsque vous fermez le terminal. Mais avec nohup> , vous pouvez le continuer à fonctionner même après avoir fermé le terminal. C'est très pratique, surtout si vous exécutez des commandes à distance et que vous ne voulez pas qu'elles s'arrêtent si votre connexion est interrompue.nohup>fonctionne en protégeant votre commande des signaux qui l'arrêteraient normalement. tu viens d'ajouternohup>avant votre commandement, et cela continue. Vous pouvez également envoyer la sortie de la commande dans un fichier. N'oubliez pas que c'est mieux pour les tâches non interactives et que vous pouvez vérifier l'état de votre commande à l'aide d'outils tels queps>. Donc,nohup>est comme un filet de sécurité pour vos commandes, garantissant qu'elles continuent à avancer même lorsque vous ne regardez pas.