lorsque vous exécutez un travail Unix en arrière-plan ( en utilisant &, commande bg) et la déconnexion de la session, votre processus sera tué. Vous pouvez éviter cela en utilisant plusieurs méthodes-exécuter le travail avec nohup, ou le faire en tant que travail par lots en utilisant la commande at, batch ou cron.
cette astuce rapide est pour les débutants. Si vous utilisez nohup depuis un moment, laissez-nous un commentaire et dites-nous dans quelles situations vous utilisez nohup.,
dans ce conseil rapide, laissez-nous examiner comment faire fonctionner votre processus même après votre déconnexion, en utilisant nohup.
Nohup signifie no hang up, qui peut être exécuté comme indiqué ci-dessous.
syntaxe nohup:
# nohup command-with-options &
Nohup est très utile lorsque vous devez exécuter un script shell ou une commande qui prend beaucoup de temps à terminer. Dans ce cas, vous ne voulez pas être connecté au shell et attendre la fin de la commande. Au lieu de cela, exécutez-le avec nohup, quittez le shell et continuez votre Autre Travail.
Explication sur nohup.,fichier
Par défaut, la sortie standard sera redirigé vers nohup.fichier dans le répertoire courant. Et l’erreur standard sera redirigée vers stdout, donc elle ira également à nohup.hors. Donc, votre nohup.out contiendra à la fois la sortie standard et les messages d’erreur du script que vous avez exécuté à l’aide de la commande nohup.
au Lieu d’utiliser nohup.out, vous pouvez également rediriger la sortie vers un fichier en utilisant les redirections shell normales.,
exemple: impression de lignes sur les deux sorties standard& erreur standard
while(true)doecho "standard output"echo "standard error" 1>&2 sleep 1;done
exécuter le script sans redirection
exécuter le script avec redirection
Si vous vous déconnectez du shell et vous vous reconnectez, vous verrez toujours custom-script.sh courir en arrière-plan.
$ ps aux | grep sathiya sathiya 12034 0.0 0.1 4912 1080 pts/2 S 14:10 0:00 sh custom-script.sh