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-get
zu steuernden Prozess von einer neuen SSH-Sitzung, screen
Sitzung oder dergleichen übernehmen. Mein Favorit dafür ist der reptyr
Befehl:
$ 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-get
Ausgabe, in der Sie um Bestätigung gebeten werden.
Erklärungen
Es gibt mehrere andere Tools, die grundsätzlich genauso funktionieren wie reptyr
( ptrace
dh über einen Debug-Anhang). Sehen Sie sich die folgenden Fragen und Antworten an, wo sie besprochen werden:
In den obigen Anweisungen, die reptyr 10626
Anwendungen ptrace
Debug - Befestigung während des sudo reptyr -T 10626
verwendeten Befehls stiehlt TTY und ist bevorzugt ( Details ).
Der Grund, warum Sie eine SSH-Sitzung nicht auf diese Weise übernehmen können, ist, dass ein sshd
Prozess 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 sshd
Prozesses 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-get
Prozess noch lief. Es sollte zusammen mit der gesamten Prozesskette bis zu SSH abgestorben sein. Mir ist aufgefallen, dassdo-dist-upgrade
in einerscreen
/byobu
Session automatisch gestartet wird: Geht das unter Umständenapt-get
auch so?