web-dev-qa-db-fra.com

Comment puis-je garder un processus en vie après la fermeture de la session PuTTY?

J'utilise PuTTY pour interagir avec le serveur Linux. J'ai démarré un processus utilisant PuTTY. Le processus est en cours et prendra 5-6 heures. Je souhaite que ce processus continue à fonctionner après la fermeture de la session PuTTY. Comment puis-je maintenir ce processus actif après la fermeture de la session PuTTY? Je ne veux pas garder l'ordinateur allumé tout le temps. Y a-t-il un moyen de faire ça?.

37
prakash.panjwani

J'utilise screen pour ce genre de choses. En fait, parfois, je le laisse assez longtemps pour pouvoir revenir à ce que je faisais.

31
ziya
^Z
bg %1
disown -h %1

Le '-h' rend le processus immunisé contre SIGHUP lorsque la session est terminée.

30
Tom Anderson

Utilisez la commande Nohup. Il suffit de le préfixer à votre commande et il sera démonisé de sorte qu’ils ne s’arrêtent pas lorsque vous vous déconnectez/mettez fin à votre session Shell. La sortie standard sera par défaut dans un fichier nommé Nohup.out. Consultez la page de manuel de Nohup(1) pour plus d'informations.

18
Noufal Ibrahim

Démarrer le processus avec Nohup "processname" &. Vous pouvez également le détacher avec screen ou tmux.

3
Damir

Les solutions ci-dessus sont assez bien décrites, mais aucune d’entre elles n’a fonctionné jusqu’à ce que j’ai également modifié la configuration de PuTTY pour:

Activer TCP keepalives (option SO_KEEPALIVE)

Je n'avais vu cela nulle part ailleurs et je l'ai trouvé par essais et erreurs.

2
user295374

Ctrl + z Envoie le processus en cours à l'arrière-plan.

De plus, vous pouvez ajouter & à la fin de votre commande pour s’exécuter en arrière-plan

1
BarsMonster

Comment garder weblogic actif après la fermeture de la fenêtre de PuTTY:

Étapes simples: après la connexion via PuTTY, suivez les étapes ci-dessous:

  1. Accédez au répertoire sur le serveur où se trouve la commande startWebLogic.sh.
  2. Tapez la commande screen et appuyez sur Enter (un nouvel écran s'ouvrira).
  3. Dans le nouvel écran, tapez votre commande d'exécution ./startWebLogic.sh.
  4. Presse Ctrl+a puis appuyez d (sans tenir Ctrl) vous retournerez à l'écran précédent.
  5. Lorsque vous souhaitez revenir à l'écran du journal de votre serveur, tapez la commande screen -r.
0
Akbar

Si vous souhaitez que le programme contenu dans le processus s'exécute toujours ou fréquemment en arrière-plan, vous pouvez le coder pour le séparer du terminal de contrôle (rendre ce comportement contrôlable via un indicateur d'option) et s'exécuter en arrière-plan.

C'est une solution à long terme, bien sûr, pas pour le processus en cours.

0
mpez0

Vous pouvez utiliser & après le lien.

Exemple:

[localhost ~ ]# wget http://www.link.com/download/download.Zip &
0
codemania