Escribir ~.
realmente hace el truco de cerrar todas las conexiones "anidadas" hasta lo más profundo.
Lo hace con la salida amigable que desea, siempre y cuando todos sus proyectiles estén configurados para manejar SIGHUP como una muerte elegante. Bash lo hace por defecto. Puede comprobar fácilmente la salida amistosa para su puesta a punto por ejemplo, ver si los .bash_history
archivos de sus sesiones más profundas quedan debidamente actualizados después de que el ~.
, o si se establece su golpe-es no actualizar .bash_history a la salida, entonces podrían establecer una trap
en el SALIR del evento (o en su ~/.bash_logout
) con un comando que escribe algo en alguna parte y luego ver si se ejecutó.
Además, no estoy seguro de lo que quieres decir con "salir de todas las sesiones en el shell actual". Cada bash interactivo es solo una sesión, y los comandos que escribe van siempre solo al caparazón más profundo de la cadena ProxyJump. Si se refería a "los trabajos en segundo plano en el shell actual", bash envía SIGHUP a todos sus trabajos al recibir SIGHUP por el demonio ssh en el ~.
, por lo tanto, dicha salida debería ser completamente amigable si los trabajos en ejecución reaccionan correctamente a un SIGHUP.
~.
simplemente desconecta su cliente SSH (es útil cuando la red ha desaparecido, por ejemplo). Normalmente, el demonio SSH lo reconocerá y señalará su sesiónSIGHUP
, por lo que no es lo mismo que salir del shell normalmente (pero es útil si no puede obtener ninguna respuesta del shell).