Wie kann ich das Programm nach dem Trennen der SSH-Verbindung weiter ausführen? [Duplikat]

Antworten:

22

"Bildschirm" ist höchstwahrscheinlich das, was Sie wollen. Sie können die Verbindung nach Belieben trennen und wiederherstellen. Führen Sie nach dem SSH-Zugriff auf den Server den Bildschirm aus, bevor Sie das Programm starten. Ctrl-a, Ctrl-d trennt Sie (das Programm läuft trotzdem weiter). Bei Ihrer Rückkehr verbindet Sie 'screen -r' wieder, als wären Sie nie weg gewesen.

Stellen Sie es sich als VNC oder RDP für Textterminals vor. Suchen Sie für viele Tutorials nach "using screen".

Bearbeitet, um hinzuzufügen: Heutzutage würde ich stattdessen tmux empfehlen , insbesondere wenn es in Verbindung mit dem Skript tmx verwendet wird . Die Möglichkeit, Fenster (vertikal und horizontal) zu teilen und ihre Größe zu ändern, ist ein großer Vorteil über dem Bildschirm.

Chris
quelle
5
Übrigens, der Bildschirm läuft weiter, wenn Ihre Verbindung abläuft oder so, solange Sie noch daran angeschlossen sind. Einige nützliche Befehle: Strg + a, Strg + d = vom Bildschirm trennen, Bildschirm -r = erneut an einen Bildschirm anhängen, Bildschirm -x = im gemeinsam genutzten Modus an einen Bildschirm anhängen (kann zum Lehren usw. verwendet werden, zwei Benutzer können sich teilen derselbe Bildschirm), Strg + a, esc = in den Bildlaufmodus wechseln (drücken Sie q, um den Bildschirm wieder zu verlassen). HINWEIS: Wenn Sie einen Bildschirm durch Eingabe von "Bildschirmprogramm" starten, wird das Programm sofort auf dem Bildschirm gestartet. Wenn es jedoch beendet wird, geht der Puffer verloren. Wenn Sie nur "screen" eingeben, erhalten Sie ein beständiges Terminal.
Chris, auch danke für die nützliche Antwort.
18

nohup ist ein Befehl, der einen anderen Befehl ausführt und ihn immun gegen das "Auflegen" -Signal macht.

Sie führen es so einfach wie:

nohup command

Sie müssen aber auch stdin, stdout und stderr umleiten. Weitere Informationen finden Sie auf der Manpage.

Sie werden es wahrscheinlich auch in den Hintergrund stellen wollen.

Sie müssen auch den killBefehl kennen, um ihn schließlich zu töten.

Merkwürdig
quelle
Ja, vielen Dank! so einfach))
Dies ist die, die ich benutze. Sehr sehr einfach. Verwenden Sie teediese Option, um stdin, stdout und stderr umzuleiten.
Ritwik Bose