Drücken Sie einfach Ctrl+Dzweimal anstelle von Alt-F4oder Ctrl-Q, um das Exit-Signal an Ihre aktuelle SSH und dann an Ihre Shell zu senden. Der Terminal-Emulator sollte dann automatisch ohne Shell geschlossen werden. Problem gelöst.
Profpatsch
@Profpatsch: es sei denn, natürlich, verwenden Sie IGNOREEOF(in bash) , weil Sie auch ein Terminal - Multiplexer verwenden und bekam überdrüssig manchmal Vertippen ^a dwie ^d, dadurch unbeabsichtigt verlassen.
0xC0000022L
Antworten:
28
Keineswegs. Wenn der Terminal-Prozess beendet wird, sterben auch die darin enthaltenen Client-Prozesse ab. In diesem Fall wird die Verbindung zum Remote-Server vom Betriebssystem getrennt. Der Server sieht, dass die Verbindung getrennt wird, und beendet die Prozesse auf dem Server.
Es kann jedoch vorkommen, dass auf dem Server noch Prozesse ausgeführt werden, die im Hintergrund ausgeführt werden und bestimmte Signale ignorieren.
Wenn wir das Terminal direkt schließen, generiert es ein SIGHUP-Signal. Dieses Signal beendet alle Aufgaben / Prozesse unter dem Terminal automatisch / sofort. Also kein Problem aufgetreten.
Dies kann nicht wahr sein. Wenn die Bash eine Schleife ausführt, kann sie SIGHUP ignorieren und die Sitzung fortsetzen. Ich versuche gerade herauszufinden, warum dies passiert.
Auch das Herunterfahren ist hier sehr gut vermerkt, aber anscheinend hat Systemd einige Verhaltensweisen geändert.
Es ist besser, wenn Sie Ihre Behauptung zuerst validieren, bevor Sie antworten, anstatt mit "Dies ist möglicherweise nicht wahr" zu antworten.
Kusalananda
Nun, es kommt alles darauf an. Es scheint sich zu unterscheiden zwischen: * Init-Systemeinstellungen * Shell-Einstellungen * Im Terminal ausgeführten Prozessen und deren Signalverarbeitung
Ctrl+D
zweimal anstelle vonAlt-F4
oderCtrl-Q
, um das Exit-Signal an Ihre aktuelle SSH und dann an Ihre Shell zu senden. Der Terminal-Emulator sollte dann automatisch ohne Shell geschlossen werden. Problem gelöst.IGNOREEOF
(inbash
) , weil Sie auch ein Terminal - Multiplexer verwenden und bekam überdrüssig manchmal Vertippen^a d
wie^d
, dadurch unbeabsichtigt verlassen.Antworten:
Keineswegs. Wenn der Terminal-Prozess beendet wird, sterben auch die darin enthaltenen Client-Prozesse ab. In diesem Fall wird die Verbindung zum Remote-Server vom Betriebssystem getrennt. Der Server sieht, dass die Verbindung getrennt wird, und beendet die Prozesse auf dem Server.
Es kann jedoch vorkommen, dass auf dem Server noch Prozesse ausgeführt werden, die im Hintergrund ausgeführt werden und bestimmte Signale ignorieren.
quelle
Wenn wir das Terminal direkt schließen, generiert es ein SIGHUP-Signal. Dieses Signal beendet alle Aufgaben / Prozesse unter dem Terminal automatisch / sofort. Also kein Problem aufgetreten.
quelle
Dies kann nicht wahr sein. Wenn die Bash eine Schleife ausführt, kann sie SIGHUP ignorieren und die Sitzung fortsetzen. Ich versuche gerade herauszufinden, warum dies passiert.
Auch das Herunterfahren ist hier sehr gut vermerkt, aber anscheinend hat Systemd einige Verhaltensweisen geändert.
/server/463366/does-getting-disconnected-from-an-ssh-session-kill-your-programs
quelle