Ctrl-D o exit
es lo mismo.
Si usa la "X", el administrador de ventanas envía una señal de terminación al shell. Que tiene al final el mismo resultado. Si el shell no reacciona, el usuario generalmente recibe una advertencia y luego puede forzar el final del shell (igual a kill -9 $PID
).
Hay una pequeña diferencia entre la "X" y el método de salida si lo está utilizando zsh
como shell: si tiene un proceso en segundo plano en ejecución, exit
/ ctrl-D produce la primera vez solo un mensaje de advertencia "tiene trabajos en ejecución", el segunda vez que se cierra el caparazón. Con el botón "X", el shell termina inmediatamente sin ninguna advertencia.
&
seguirán ejecutándose. Si usted "X", entonces serán terminados.Cerrar el emulador de terminal no es lo mismo que presionar
CTRL + D
(a menos que la opciónhuponexit
esté configurada).Cuando cierra el terminal (haciendo clic en "X"), el emulador de terminal envía un SIGHUP al shell. Cuando bash recibe un SIGHUP, también envía un SIGHUP a todos sus trabajos.
Cuando sale del terminal con
CTRL+D
ologout
oexit
, el shell sale sin enviar un SIGHUP a todos los trabajos. Este es el comportamiento predeterminado, pero se puede cambiar configurando lashopt
configuración bashhuponexit
.Así que, en última instancia, si su objetivo es asegurarse de que no se ejecute nada en segundo plano, es más seguro hacer clic en "X".
.
La información proporcionada por jofel en su comentario es incorrecta (lo siento, jofel). El emulador de terminal no tiene idea de qué trabajos se ejecutan bajo el shell, por lo tanto, no puede terminarlos.
NOTA :
este comportamiento depende completamente del shell. Es completamente posible que diferentes shells tengan comportamientos predeterminados diferentes.
fuente
Ctrl+d
proceso es heredado por PPID 1 = systemdNo hay diferencia. Tanto que, cuando presionas ^ D, estás haciendo lo mismo que escribir 'salir':
fuente
CTRL+D
yexit
son lo mismo, la pregunta era hacer clic en la "X" del administrador de ventanas para cerrar la ventana, no escribirexit
:-)