Ctrl-D ou exit
é o mesmo.
Se você estiver usando o "X", o gerenciador de janelas envia um sinal de término para o shell. Que no final tem o mesmo resultado. Se o shell não reagir, o usuário geralmente recebe um aviso e pode forçá-lo a terminar (igual a kill -9 $PID
).
Há uma pequena diferença entre o "X" - e o método exit se você estiver usando zsh
como shell: se você tiver um processo em segundo plano em execução, exit
/ ctrl-D produzirá pela primeira vez apenas uma mensagem de aviso "você tem trabalhos em execução", o segunda vez que o shell é fechado. Com o botão "X", o shell termina imediatamente sem nenhum aviso.
&
permanecerão em execução. Se você "X", eles serão encerrados.Fechar o emulador de terminal não é o mesmo que pressionar
CTRL + D
(a menos que a opçãohuponexit
esteja configurada).Quando você fecha o terminal (clicando em "X"), o emulador de terminal envia um SIGHUP para o shell. Quando o bash recebe um SIGHUP, ele também envia um SIGHUP para todos os seus trabalhos.
Quando você sai do terminal com
CTRL+D
oulogout
ouexit
, o shell sai sem enviar um SIGHUP para todos os trabalhos. Este é o comportamento padrão, mas pode ser alterado, definindo a festashopt
cenáriohuponexit
.Portanto, se seu objetivo é garantir que não haja nada em segundo plano, é mais seguro clicar em "X".
.
As informações fornecidas por jofel em seu comentário estão incorretas (desculpe jofel). O emulador de terminal não tem idéia de quais trabalhos estão sendo executados sob o shell, portanto, não é possível finalizá-los.
NOTA :
Esse comportamento é completamente dependente do shell. É perfeitamente possível que diferentes shells tenham comportamentos padrão diferentes.
fonte
Ctrl+d
processo é herdado por PPIDs 1 = systemdNão há diferença. Tanto que, quando você pressiona ^ D, está fazendo o mesmo que digitar 'exit':
fonte
CTRL+D
eexit
são os mesmos, a pergunta foi sobre clicando em "X" do gerenciador de janelas para fechar a janela, não digitandoexit
:-)