Sie können zwar keine erneute Verbindung zu einer unterbrochenen SSH-Sitzung herstellen, aber Sie können den in SSH ausgeführten Prozess erneut ausführen - funktional entsprechend Ihren Anforderungen.
Anleitung
In Ihrem Fall würden Sie den apt-getzu steuernden Prozess von einer neuen SSH-Sitzung, screenSitzung oder dergleichen übernehmen. Mein Favorit dafür ist der reptyrBefehl:
$ sudo apt-get install reptyr
$ ps ax | grep apt-get
10626 pts/8 R+ 0:32 apt-get upgrade
Dann mit der PID, die Sie für Ihren Prozess gefunden haben:
$ sudo reptyr -T 10626
Oder wenn das nicht funktioniert, versuchen Sie:
$ reptyr 10626
Nach dieser Phase wird Ihre gesamte Tastatureingabe an das von Ihnen übernommene Programm gesendet. Leider wird die alte Ausgabe der SSH-Sitzung nicht angezeigt, z. B. die apt-getAusgabe, in der Sie um Bestätigung gebeten werden.
Erklärungen
Es gibt mehrere andere Tools, die grundsätzlich genauso funktionieren wie reptyr( ptracedh über einen Debug-Anhang). Sehen Sie sich die folgenden Fragen und Antworten an, wo sie besprochen werden:
In den obigen Anweisungen, die reptyr 10626Anwendungen ptraceDebug - Befestigung während des sudo reptyr -T 10626verwendeten Befehls stiehlt TTY und ist bevorzugt ( Details ).
Der Grund, warum Sie eine SSH-Sitzung nicht auf diese Weise übernehmen können, ist, dass ein sshdProzess nicht von einem Host-Terminal gesteuert wird, sondern den Slave-Teil eines Terminals - ein Gerät - bereitstellt,pts während sich der Master-Teil, der ihn steuert, auf dem befindet Client-Computer, hier mit einer unterbrochenen SSH-Sitzung dazwischen. Wenn Sie die Übernahme eines solchen sshdProzesses erzwingen reptyr -s <pid>, wird Ihre Tastatureingabe an diesen Prozess gesendet, nicht an den aktiven untergeordneten Prozess. Ein "Strg + Z" macht das einfach zunichte sshd.
apt-getProzess noch lief. Es sollte zusammen mit der gesamten Prozesskette bis zu SSH abgestorben sein. Mir ist aufgefallen, dassdo-dist-upgradein einerscreen/byobuSession automatisch gestartet wird: Geht das unter Umständenapt-getauch so?