it-swarm.com.de

Wie kann ich einen Prozess nach dem Schließen der PuTTY-Sitzung am Leben erhalten?

Ich benutze PuTTY, um mit dem Linux-Server zu interagieren. Ich habe einen Prozess mit PuTTY gestartet. Der Prozess läuft und dauert 5-6 Stunden. Ich möchte, dass dieser Prozess nach dem Schließen der PuTTY-Sitzung weiterläuft. Wie kann ich diesen Prozess nach dem Schließen der PuTTY-Sitzung am Leben erhalten? Ich möchte den Computer nicht ständig eingeschaltet lassen. Gibt es eine Möglichkeit, dies zu tun?.

37

Ich benutze screen für solche Sachen. Eigentlich lasse ich es manchmal einfach eine ganze Weile, damit ich wieder zu dem komme, was ich getan habe.

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

Das '-h' macht den Prozess immun gegen SIGHUP, wenn die Sitzung abgeschlossen ist.

30
Tom Anderson

Verwenden Sie den Befehl Nohup. Stellen Sie es einfach Ihrem Befehl voran und es wird sie dämonisieren, damit sie nicht anhalten, wenn Sie Ihre Shell-Sitzung abmelden/beenden. Die Standardausgabe erfolgt standardmäßig in einer Datei mit dem Namen Nohup.out. Weitere Informationen finden Sie auf der Handbuchseite für Nohup(1).

18
Noufal Ibrahim

Prozess mit Nohup "processname" & starten. Sie können es auch mit screen oder tmux trennen.

3
Damir

Die obigen Lösungen sind recht gut beschrieben, jedoch hat keine von ihnen bei mir funktioniert, BIS ich auch die PuTTY-Konfiguration bearbeitet habe, um:

TCP Keepalives aktivieren (Option SO_KEEPALIVE)

Ich hatte das nirgendwo anders gesehen und es einfach durch Ausprobieren gefunden.

2
user295374

Strg + z Sendet den aktuellen Prozess in den Hintergrund.

Sie können auch & am Ende Ihres Befehls hinzufügen, um es im Hintergrund auszuführen

1
BarsMonster

So halten Sie Weblogic am Laufen, nachdem Sie das PuTTY-Fenster geschlossen haben:

Einfache Schritte: Nach dem Login über PuTTY folgen Sie den folgenden Schritten:

  1. Wechseln Sie zu dem Verzeichnis auf dem Server, in dem sich der Befehl startWebLogic.sh befindet.
  2. Geben Sie den Befehl screen ein und drücken Sie Enter (Ein neuer Bildschirm wird geöffnet).
  3. Geben Sie auf dem neuen Bildschirm den Befehl ./startWebLogic.sh ein.
  4. Drücken Sie Ctrl+a dann drücken d (ohne zu halten Ctrl); Sie kehren zum vorherigen Bildschirm zurück.
  5. Wenn Sie zum Serverprotokollbildschirm zurückkehren möchten, geben Sie den Befehl screen -r ein.
0
Akbar

Wenn Sie möchten, dass das in dem Prozess enthaltene Programm immer oder häufig im Hintergrund ausgeführt wird, können Sie es so codieren, dass es vom steuernden Terminal getrennt wird (dieses Verhalten kann über ein Optionsflag gesteuert werden) und im Hintergrund ausgeführt werden.

Das ist natürlich eine langfristige Lösung, nicht für den derzeit laufenden Prozess.

0
mpez0

Sie können & nach dem Link verwenden.

Beispiel:

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