Ich habe ein Bash-Skript, dessen Ausführung mehrere Stunden dauert. Während es läuft, möchte ich andere Dinge tun, die das Abmelden oder Trennen vom Internet beinhalten können (mein Skript führt Netzwerktests auf verschiedenen Computern durch).
Ich verstehe, dass es einen Befehl gibt, mit dem ich meine Tests von einem Remote-Terminal ausführen und mich vom Terminal abmelden kann, während es ausgeführt wird. Weiß jemand, was dieser Befehl ist?
quelle
Ich benutze
nohup
dafür. In meinem Fall hatte ich ein Python-Skript namensaction.py
Ich habe das Skript auf einem Remote-Server ausgeführt, mit demnohup python action.py &
ich dann das Terminal schließen würde. Später, wenn die Ausführung beendet ist, können Sie alle Ausgaben des Prozesses sehen, innohup.out
dem sie im selben Verzeichnis wie erstellt werdenaction.py
. Ist die Datei bereits vorhanden, wird eine weitere Ausgabe angehängt.Der einzige Haken ist, nicht zu wissen, wann das Skript seinen Lauf genommen hat. In meinem Fall ließ ich mir nach Abschluss eine E-Mail schreiben. Hoffe das hat jemandem geholfen!
quelle
Was passiert, wenn Sie vergessen haben, den
nohup
Befehl zu Beginn Ihres Befehls hinzuzufügen ?Angenommen, Sie haben den folgenden langen Befehl ausgeführt:
Dies wird aufgerufen, da dies
ls -Ral /
alle Dateien und alle Ordner, einschließlich der ausgeblendeten, mit einem langen Format auflisten soll, das rekursiv vom Stammordner aus beginnt. Es könnte eine Weile dauern.Drücken Sie einfach ctrl+ Z.
Wie bekommst du es zurück?
Der Befehl, um es wieder in den Vordergrund zu bringen, lautet
fg
.quelle