GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So stellen Sie eine Shell nach einer Verbindungsunterbrechung wieder her

Es gibt keine Möglichkeit, aber um dies zu verhindern, verwende ich gerne tmux . Ich starte tmux, starte die Operation und mache mich auf den Weg. Wenn ich zurückkehre und feststelle, dass die Verbindung unterbrochen wurde, muss ich nur die Verbindung wiederherstellen und tmux attach eingeben .

Hier ist ein Beispiel.

$ tmux
$ make <something big>
......
Connection fails for some reason
Reconect

$ tmux ls
0: 1 windows (created Tue Aug 23 12:39:52 2011) [103x30]

$ tmux attach -t 0
Back in the tmux sesion

Die Empfehlungen für tmux und screen sind beide gute Vorschläge. Sie implizieren die Antwort auf Ihre Frage, geben sie aber nicht wirklich an. Die Antwort auf die Frage lautet:Es gibt keinen Weg. Wenn Sie sich über ssh anmelden, wird die Shell beendet, wenn die Verbindung abbricht. Die Problemumgehung besteht darin, sich anzumelden und sofort eine Art virtuelles Terminal zu starten (dies kann mit Tools wie dtach durchgeführt werden , abduco , tmux , oder screen ). Wenn die Verbindung unterbrochen wird, wird die Shell, in der Sie sich befinden, beendet, aber Sie können eine neue Shell öffnen und sich wieder mit dem virtuellen Terminal verbinden, das die Shell ausführt, in der Sie tatsächlich Ihre Arbeit erledigen.


Wie William sagte, lautet die kurze Antwort nein, es gibt keine Möglichkeit. Um dies zu verhindern, können Sie den Bildschirmbefehl verwenden, bevor Sie die Verbindung verlieren


Linux
  1. Ssh – Wie führe ich ein Skript sofort nach der Verbindung über SSH aus?

  2. Wie integriere ich den Mv-Befehl nach dem Find-Befehl?

  3. Wie verwendet man Booleans in Fish Shell?

  4. Wie kann ich das Offscreen-Fenster nach dem Trennen des zweiten Monitors wiederherstellen?

  5. Wie kann man SSH-Benutzer nach der Anmeldung auf einen vordefinierten Satz von Befehlen beschränken?

So installieren Sie tmux unter Linux

So ändern Sie eine Benutzer-Shell in Linux

Wie stellt man einen Hintergrundjob aus einer früheren Shell wieder her?

Tmux-Statusleiste nach Catting einer Binärdatei beschädigt, wie zurücksetzen?

So halten Sie Remote-SSH-Sitzungen nach der Trennung am Laufen

Wie beende ich eine SSH-Verbindung?