Simplemente presione Ctrl+Ddos veces en lugar de Alt-F4o Ctrl-Q, esto envía la señal de salida a su ssh actual, luego a su shell, y el emulador de terminal debería cerrarse automáticamente sin shell. Problema resuelto.
Profpatsch
@Profpatsch: a menos que, por supuesto, se utiliza IGNOREEOF(en bash) porque también se utiliza un multiplexor terminal y se cansó de escribir mal a veces ^a dcomo ^d, por lo tanto dejar de fumar involuntariamente.
0xC0000022L
Respuestas:
28
De ningún modo. Cuando finaliza el proceso del terminal, los procesos del cliente dentro también morirán, y cuando esto suceda, el sistema operativo cerrará la conexión al servidor remoto. El servidor verá cerrarse la conexión y finalizará los procesos en el servidor.
Sin embargo, es posible que pueda terminar con procesos persistentes en el servidor si se encuentran en segundo plano e ignorar ciertas señales.
Cuando cerramos el terminal directamente, genera una señal SIGHUP. Esta señal mata todas las tareas / procesos bajo el terminal de forma automática / instantánea. Entonces no hay problema.
Esto puede que no sea verdad. Si bash está ejecutando un bucle, puede ignorar SIGHUP y continuar la sesión. Actualmente estoy tratando de averiguar por qué sucede esto.
Además, el proceso de apagado se nota muy bien aquí, pero aparentemente Systemd ha cambiado algunos comportamientos.
Sería mejor si validara su reclamo primero antes de responder, en lugar de responder con "esto puede no ser cierto".
Kusalananda
Bueno, todo depende. Parece ser diferente entre: * Configuración del sistema de inicialización * Configuración de Shell * Procesos que se ejecutan en el terminal y su manejo de señal
Ctrl+D
dos veces en lugar deAlt-F4
oCtrl-Q
, esto envía la señal de salida a su ssh actual, luego a su shell, y el emulador de terminal debería cerrarse automáticamente sin shell. Problema resuelto.IGNOREEOF
(enbash
) porque también se utiliza un multiplexor terminal y se cansó de escribir mal a veces^a d
como^d
, por lo tanto dejar de fumar involuntariamente.Respuestas:
De ningún modo. Cuando finaliza el proceso del terminal, los procesos del cliente dentro también morirán, y cuando esto suceda, el sistema operativo cerrará la conexión al servidor remoto. El servidor verá cerrarse la conexión y finalizará los procesos en el servidor.
Sin embargo, es posible que pueda terminar con procesos persistentes en el servidor si se encuentran en segundo plano e ignorar ciertas señales.
fuente
Cuando cerramos el terminal directamente, genera una señal SIGHUP. Esta señal mata todas las tareas / procesos bajo el terminal de forma automática / instantánea. Entonces no hay problema.
fuente
Esto puede que no sea verdad. Si bash está ejecutando un bucle, puede ignorar SIGHUP y continuar la sesión. Actualmente estoy tratando de averiguar por qué sucede esto.
Además, el proceso de apagado se nota muy bien aquí, pero aparentemente Systemd ha cambiado algunos comportamientos.
/server/463366/does-getting-disconnected-from-an-ssh-session-kill-your-programs
fuente