Ctrl + D ( ^D ) significa fim do arquivo . Ele só funciona no início de uma linha (estou simplificando um pouco) e não tem efeito se o programa não estiver lendo a entrada do terminal. Na sua experiência, ^D disse ao shell que você não iria digitar mais nenhum comando, então ele saiu; então o terminal saiu porque seu subprograma havia terminado.
Ctrl + C ( ^C ) significa “interromper”, ou seja, parar o que você está fazendo. Tecnicamente, pressionar ^C envia o sinal INT , que por padrão encerra um aplicativo, mas que em muitos programas significa voltar ao nível superior (por exemplo, em um shell, pare de digitar uma linha de comando e volte para um prompt prístino).
Se um programa não responder a ^C , você pode tentar Ctrl + \ ( ^\ ). Isso envia o sinal QUIT , que por padrão encerra um aplicativo e que não são interceptados por muitos programas.
Outra tecla que envia um sinal é Ctrl + Z ( ^Z ). Ele envia o sinal TSTP , que pausa o programa em execução em primeiro plano. (TSTP é a abreviatura de “terminal stop”; é semelhante a STOP , mas o TSTP pode ser ignorado, enquanto o STOP não pode.) shell, você pode retomar a execução desse programa com o comando fg (continuar no primeiro plano) ou o comando bg (continuar no segundo plano).
Todas essas chaves podem ser alteradas com o comando stty . Alguns programas, particularmente programas em tela cheia que possuem atalhos de teclado, os desativam.