GNU/Linux >> Tutoriels Linux >  >> Linux

Exemples de commandes Nohup - Exécute une commande qui continue de s'exécuter après la déconnexion

L'utilitaire nohup exécute une ligne de commande de sorte que la commande continue de s'exécuter après la déconnexion. En d'autres termes, nohup amène un processus à ignorer un signal SIGHUP. Selon la configuration du shell local, un processus démarré sans nohup et exécuté en arrière-plan peut être tué lorsque vous vous déconnectez.

Syntaxe pour exécuter la commande nohup

La syntaxe de commande de base pour exécuter une commande nohup est la suivante :

# nohup command_with_options &

Toute sortie de votre travail sera redirigée vers un fichier appelé " nohup.out ", sauf indication contraire de votre part avec

# nohup command > myout.file 2>&1

qui envoie toutes les sorties vers le fichier myout.file.

Enregistrement de la sortie de la commande nohup

Si vous ne redirigez pas la sortie d'une commande que vous exécutez à l'aide de nohup, la sortie standard et l'erreur standard sont envoyées au fichier nommé nohup.out dans le répertoire de travail. Si vous n'avez pas d'autorisation en écriture pour le répertoire de travail, nohup envoie la sortie à ~/nohup.out .

Vous pouvez également envoyer la sortie vers tout autre fichier spécifié par vous, comme indiqué ci-dessus dans la syntaxe de la commande.

Exemples

1. Exécuter nohup sans spécifier de fichier de sortie

Prenons un exemple et testons qu'il continue de fonctionner après votre déconnexion. Nous allons lancer un script appelé script.sh. Le contenu du script est le suivant :

# cat script.sh
#!/bin/sh
while(true)
do
	echo "Hello World!"
	sleep 10
done

Exécutons le script dans backgroupd avec la commande nohup :

# nohup script.sh & 
[1] 179 
$ nohup: appending output to `nohup.out`

Comme vous pouvez le voir ci-dessus, nous n'avons pas spécifié de fichier de sortie. Ainsi, la sortie standard et l'erreur standard vont par défaut dans le fichier nohup.out dans le répertoire à partir duquel le script a été invoqué. Aussi le nombre 179 Spécifie l'ID de processus (PID) de la tâche. Ce PID peut être vérifié dans la sortie de la commande "ps -ef" comme indiqué ci-dessous.

Quittez maintenant le shell, reconnectez-vous et exécutez la commande suivante :

$ ps x | grep script.sh
179  ?   S N  0:01 sh /root/script.sh 
506  p2 S     0:00 grep script.sh

Le script fonctionne toujours. Utilisez « ps -ef | grep ps1" si votre système ne prend pas en charge ps x. Vous pouvez également vérifier le fichier de sortie nohup.out pour plus de confirmation.

# cat nohup.out
Hello World!
Hello World!
Hello World!
Hello World!
...
REMARQUE :Si vous exécutez une autre commande à l'aide de nohup, la sortie est ajoutée au fichier nohup.out existant. Soyez prudent lorsque vous exécutez plusieurs commandes à partir du même répertoire, car toute la sortie est envoyée au même fichier nohup.out, ce qui peut prêter à confusion.

Exécuter nohup en spécifiant un fichier de sortie

Maintenant, le script ci-dessus peut également être exécuté avec la commande nohup et en spécifiant un fichier de sortie personnalisé comme indiqué ci-dessous :

# nohup script.sh > /tmp/script.out 2>&1
[1] 14235

Conclusion

Si vous exécutez un processus et que vous pensez qu'il ne sera pas terminé au moment où vous vous déconnectez pour la journée, utilisez la commande nohup. Nohup continuera le traitement lorsque vous quitterez votre compte. Nohup signifie pas de raccrochage .


Linux
  1. Tutoriel de commande Linux pinky pour débutants (8 exemples)

  2. 4 façons de maintenir une commande en cours d'exécution après la déconnexion de la session SSH

  3. 20 exemples de commandes OpenSSL que vous devez connaître

  4. Voici tout ce que vous pouvez faire avec Nmap - Exemples de commandes

  5. Comment enregistrer chaque commande tapée ?

8 Commande Linux Tee avec exemples

Commande Nohup Linux avec des exemples

La commande Nohup sous Linux vous permet d'exécuter des commandes même après la déconnexion

Exemples de commandes echo Linux

3 La sortie de la commande SELinux sestatus expliquée avec des exemples

Pouvez-vous faire mieux ? 15 exemples pratiques de commandes principales Linux