Wie melde ich mich von SSH ab bzw. trenne die Verbindung, nachdem ich einen Prozess mit Ausgabe gestartet habe, damit dieser weiter ausgeführt wird?

Wie melde ich mich von SSH ab bzw. trenne die Verbindung, nachdem ich einen Prozess mit Ausgabe gestartet habe, damit dieser weiter ausgeführt wird?

Ich habe heute ein Skript von der Befehlszeile aus ausgeführt (PHP, ich bin mir nicht sicher, ob das wichtig ist), dessen Ausgabe ich sehen wollte, aber ich musste nach Hause, bevor es fertig war, und ich konnte nicht herausfinden, wie ich es beenden konnte, ohne das Skript zu beenden. Normalerweise schließe ich einfach den Laptop (Ruhezustand), aber es scheint nicht, als wäre das Skript fertig.

Gibt es eine Tastenkombination, mit der ich das Terminal verlassen und das Skript weiterlaufen lassen kann? Es wird auch eine Protokolldatei gedruckt, sodass ich sie später überprüfen kann.

Antwort1

Die einfachste Methode, Ihre Skripte nach dem Schließen einer Shell-Sitzung weiterlaufen zu lassen, ist die Verwendung eines Terminal-Multiplexer-Programms. Mit einem Terminal-Multiplexer können Sie mehrere Shell-Sitzungen gleichzeitig ausführen, ohne aktiv mit jeder einzelnen verbunden zu sein, selbst nachdem Sie die Verbindung zu ihnen getrennt haben. Die beiden beliebtesten sind screenund tmux.

Ich persönlich verwende es screenund es funktioniert bei mir sehr gut. Sie starten eine screenSitzung, starten Ihr Programm/Skript, trennen die Verbindung (trennen) und stellen später die Verbindung zur getrennten Sitzung wieder her, um zu sehen, wie es gelaufen ist.

Installieren:

sudo apt-get install screen

So starten Sie eine Sitzung:

screen  

So trennen Sie die Sitzung (lösen sie ab):

Ctrl+ Adannd

So listen Sie laufende Sitzungen auf:

screen -ls

Um die Verbindung zu einer getrennten Sitzung wiederherzustellen, verwenden Sie die Ausgabe vonscreen -ls

screen -r [pid.tty.host]

Dies sind nur die Grundlagen, um Sie in Gang zu bringen, aber wie immer man screengibt es noch viel mehr Informationen

verwandte Informationen