Duplicate possible:
Empêcher un processus en arrière-plan d'être arrêté après la fermeture du client SSH
J'ai un programme qui prend beaucoup de temps à terminer. Il s'exécute en tant que root sur ssh.
Je veux qu'il continue à fonctionner après ma déconnexion, est-ce possible et comment pourrais-je y parvenir?
En supposant que vous ayez un programme exécuté au premier plan, appuyez sur ctrl-Z, puis:
[1]+ Stopped myprogram
$ disown -h %1
$ bg 1
[1]+ myprogram &
$ logout
S'il n'y a qu'un seul travail, vous n'avez pas besoin de spécifier le numéro du travail. Utilisez simplement disown -h
et bg
.
Vous appuyez sur ctrl-Z. Le système suspend le programme en cours, affiche un numéro de travail et un message "Arrêté" et vous renvoie à une invite de bash.
Vous tapez la commande disown -h %1
(ici, j'ai utilisé un 1
, mais vous utiliseriez le numéro de travail affiché dans le message Stopped
qui marque le travail, de sorte qu'il ignore le travail. le signal SIGHUP
(il ne sera pas arrêté en se déconnectant).
Ensuite, tapez la commande bg
en utilisant le même numéro de travail. ceci reprend l'exécution du programme en arrière-plan et un message s'affiche pour le confirmer.
Vous pouvez maintenant vous déconnecter et il continuera à fonctionner.
Vous devriez essayer d'utiliser Nohup
et de l'exécuter en arrière-plan:
Nohup sleep 3600 &
Je voudrais essayer le programme écran .
Commencez en arrière-plan:
./long_running_process options &
Et désavouez le travail avant de vous déconnecter:
disown
Vous voulez Nohup . Voir http://nixcraft.com/linux-software/313-ssh-Nohup-connection.html
Vous pouvez utiliser screen
, détacher et rattacher