Heute habe ich meine Proxmox-Installation aus der Ferne über die integrierte Konsole aktualisiert, dabei aber vergessen, was ich gerade tat, und den Tab mittendrin geschlossen.

Das führte dazu, dass ich mich nicht mehr verbinden konnte, da die Pakete bereits im Hintergrund aktualisiert wurden und das Upgrade eine Frage zum Ersetzen einer Datei gestellt hatte und nun auf meine Eingabe wartete.

Ich konnte mich also per SSH einloggen, aber nichts tun, da es immer noch auf eine Eingabe in einer Konsole wartete, mit der ich mich nicht verbinden konnte, weil sich die Oberfläche nicht öffnen ließ.

Nach kurzem Umschauen bin ich auf einen Serverfault-Thread gestoßen, in dem erwähnt wurde, reptyr zu benutzen, um die Terminalsitzung per SSH zu übernehmen.

Ich halte hier fest, was genau ich gemacht habe, um die Sitzung zurückzubekommen und das Upgrade abzuschließen:

Aus diesem Kommentar:

git clone https://github.com/nelhage/reptyr
cd reptyr
make install

Damit wurde reptyr auf dem Rechner installiert.

Dann habe ich mit ps ax | grep pts nach allen offenen Sitzungen gesucht, um den gesuchten Prozess zu finden.

Danach habe ich den obersten Elternprozess im Prozessbaum gefunden, dem ein pts zugewiesen ist, und mich über seine PID daran angehängt:

reptyr -T 1390511

Dann konnte ich das Upgrade abschließen! 🎉