Wahrscheinlich nicht. Ich kann nicht garantieren, dass es unmöglich ist, aber ich bezweifle es wirklich.
Eine Sache ist, dass die Shell nicht beendet werden kann und mögliche Befehle als Folge der Beendigung der ssh-Verbindung ausgeführt werden. Dies ist nicht so schwierig, Sie sollten in der Lage sein, keine Up- und ähnliche Mechanismen zu verwenden, wie in der anderen Frage erwähnt.
Angenommen, Sie haben begonnen ssh somehost nuhup vim /some/file
und die Verbindung wird unterbrochen. Sie starten, ssh somehost
um sich erneut anzumelden, und können feststellen, dass Ihr vim-Prozess noch ausgeführt wird. Aber wie stellen Sie wieder eine Verbindung zu diesem Prozess her? Interaktive forground-Prozesse haben ein Kontroll- Tty und dasjenige, das für Ihren vim-Prozess geöffnet wurde, als er gestartet wurde, wäre seitdem geschlossen worden. Ich bin nicht sicher, ob es eine Möglichkeit gibt, es in Ihrer neuen Shell erneut zu "öffnen" (genau wie wenn Sie mehrere Hintergrundjobs in einer Shell ausführen, können Sie keine der Jobs in einer anderen Shell in den Vordergrund stellen).
Screen
wurden ausdrücklich geschrieben, um diese Funktionalität zu haben. Beim Start gibt es zwei Prozesse, einen Terminalverwaltungsprozess und einen Clientprozess. Bei der Interaktion handelt es sich um die Anwendung Client <-> Terminal-Manager <->. Wenn Sie die Verbindung trennen oder verlieren, wird der Client-Prozess beendet, während der Terminal-Manager weiterhin aktiv ist. Bildschirm haben eine bestimmte Unterstützung, um später wieder an den Terminal-Verwaltungsprozess anzuhängen, und ich glaube nicht, dass dies im allgemeinen Fall möglich ist.