Ich habe einige schwere, lange Prozesse auf entfernten Linux-Rechnern. Ich benutze meinen Laptop, um diese Maschine mit SSH zu versorgen und die Prozesse von meiner Couch aus auszuführen.
ABER, wenn ich meinen Laptop herunterfahren möchte, stecke ich in Schwierigkeiten, da die Remote-Prozesse beendet werden.
Ich recherchierte und fand heraus, dass "Bildschirm" eine großartige Lösung für mich ist. (Solange ich meinen Laptop nicht AUSSCHALTEN lasse). Gibt es nicht eine Möglichkeit, die "Bildschirm" -Sitzungen "beizubehalten", damit ich sie beenden und dann erneut an eine Sitzung anhängen kann?
linux
ssh
gnu-screen
Sathyajith Bhat
quelle
quelle
Antworten:
Es hört sich so an, als würden Sie die Bildschirmsitzung auf Ihrem Laptop ausführen. Dann sshing von dieser Bildschirmsitzung zu den entfernten Hosts. Durch das Herunterfahren des Laptops wird der lokale Bildschirmprozess abgebrochen, wodurch die SSH-Sitzung beendet wird.
Was Sie tun möchten, ist ssh von Ihrem Laptop zu den Remote-Hosts. Starten Sie dann eine Bildschirmsitzung auf dem Remote-Host. Wenn Ihr Laptop ausgeschaltet ist, stirbt die SSH-Sitzung, die Remote-Bildschirmsitzung bleibt jedoch bestehen.
Wenn Sie sich das nächste Mal beim Remote-System anmelden, können Sie mit "screen -r" erneut eine Verbindung zur Bildschirmsitzung herstellen, oder wenn Sie mehrere Bildschirmsitzungen haben "screen -r <pid>".
Hinweis: Wenn Sie vergessen haben, die Verbindung zur Remote-Bildschirmsitzung zu trennen, bevor ssh beendet wurde, wird die Bildschirmsitzung möglicherweise als noch verbunden angesehen. In diesem Fall müssen Sie "screen -dr <pid>" ausführen, um die Sitzung zuerst zu trennen.
quelle
Ctrl+A
durch Drücken von gefolgt von,D
wenn Sie sich befinden, getrenntscreen
.Mit können Sie
nohup
einen Prozess starten, der nach dem Abmelden von einem Computer weiter ausgeführt werden soll. Vielleicht suchen Sie danach.quelle
disown
das erstellen, von dem ich glaube, dass es ein äquivalenter Effekt ist.disown
ist ein Bashismus, der auf anderen Muscheln verfügbar sein kann oder nicht.nohup
. Das Problem dabei^Z
ist, dass es den Prozess anhält. Es gibt keine Möglichkeit, einen Prozess im Hintergrund laufen zu lassen, aber ihn ohne Schluckauf laufen zu lassen.Wenn Sie die Remotesitzung beenden
screen
, können Sie Ihren Laptop sicher herunterfahren.quelle
Der Punkt des Bildschirms ist es, es auf dem Server auszuführen und mit CTRL+ A+ zu trennen D.
quelle
Verwenden Sie Nohup. Eine andere Wahl, um VNC zu verwenden. Erstellen Sie eine VNC-Sitzung auf dem Server. Stellen Sie dann bei jeder Arbeit eine Verbindung her. (Nützlicher, wenn der lange Prozess eine GUI verwendet - zum Beispiel eine IDE)
quelle
Wenn diese Server über ein ILO / DRAC / Other-Remote-KVM usw. verfügen, können Sie möglicherweise eine Verbindung zur Konsole herstellen und dort interagieren. Da die initiierten Sitzungen im Wesentlichen lokal sind, reicht es nicht aus, die Verbindung von Ihrem Laptop zu trennen.
quelle