Ich habe die gleiche Frage wie hier, aber auch darüber hinaus.
Wenn ich mich auslogge / die SSH-Verbindung beende, muss mein Programm im Hintergrund laufen. Vor dem Beenden gebe ich Folgendes ein bg
und jobs
überprüfe, ob ein Task im Hintergrund ausgeführt wird. Nach dem Beenden von SSH wird das Programm jedoch nicht ausgeführt. Es wird geschlossen, wenn ich das SSH-Fenster schließe.
Was kann ich tun, wenn mein Programm nach dem Schließen des SSH-Fensters noch ausgeführt werden soll? Ich benutze, nohup
screen
aber es funktioniert auch nicht, oder fehlt mir etwas?
<br/>
Ihrem Beitrag kein s hinzufügen müssen . Machen Sie nur die erforderlichen Absätze. Und während Sie dabei sind, verwenden Sie bitte die richtigebg
odernohup
bei der Verwendungscreen
. Auch diese Frage ist verwandt.Antworten:
Wenn Sie verwenden
screen
, müssen Sie mit + trennen, bevor Sie beenden .CTRL+ADssh
Wenn Sie einen Prozess direkt mit dem Bildschirm ausführen möchten, können Sie ihn alternativ verwenden
-d
Startet eine Bildschirmsitzung und trennt sich sofort davon-m
erzwingt das Erstellen einer neuen Bildschirmsitzung-S
Mit dieser Option können Sie der Sitzung einen Namen geben-L
Aktiviert die Protokollierung von~/screenlog.0
Beispiel:
Sie können dann entweder:
später fortsetzen mit
screen -x workstuff
oder
Überprüfen Sie die Protokolldatei
less -r ~/screenlog.0
quelle
Verwenden Sie
tmux
. Ich bin mir nicht mal sicher, obscreen
es überhaupt noch in der aktiven Entwicklung ist. Es ist eine Art Präferenzsache, aber als jemand, der es benutzttmux
, kann ich bezeugen, dass es in ungefähr 5 Minuten eingerichtet wurde und perfekt funktionierte.Auf einem Debian-basierten System (auf der entfernten Maschine):
sudo apt-get install tmux
Geben
tmux
Sie dann ein , um den gewünschten Vorgang auszuführen, und drücken Sie dann Ctrl+ (dies verlässt die tmux-Sitzung). Anschließend können Sie sich von SSH abmelden.BDWenn Sie zurückkommen / es erneut überprüfen müssen, starten Sie SSH und geben Sie ein
tmux attach
. Sie kehren dann zu Ihrertmux
Sitzung zurück.tmux
verfügt über viele weitere Funktionen, wie hier beschrieben. Dies sollte jedoch Ihr unmittelbares Problem lösen.Viel Glück!
quelle
Endlich habe ich es gelöst mit
screen
:Trennen Sie es im Bildschirmmodus mit CtrlAD. Dann können Sie das SSH-Fenster schließen.
quelle
Keine Verwendung: Mit dem ersten der folgenden Befehle wird das Programm abcd im Hintergrund so gestartet, dass es durch das anschließende Abmelden nicht gestoppt wird.
quelle