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 screen
und tmux
.
Ich persönlich verwende es screen
und es funktioniert bei mir sehr gut. Sie starten eine screen
Sitzung, 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 screen
gibt es noch viel mehr Informationen