Sua pergunta responde a si mesma, isso acontece porque esses processos estão sendo executados como filhos no emulador de terminal. Portanto, você mata o emulador de terminal e, ao fazê-lo, mata todos os processos filhos (já que os filhos estão executando no mesmo grupo de processos que o emulador de terminal de controle).
Veja, por exemplo, o seguinte:
csb@darwin[~]$ ps fauwx | grep -A6 "xfce4-terminal" | awk '{ for (i = 2; i <= 9; i++) $i="" ; print $0 }'
csb 0:32 xfce4-terminal --geometry=271x65 --display :0.0 --role=Terminal-0x1340050-2606-1351620352 --show-menubar --show-borders --hide-toolbars --working-directory /home/csb --tab --working-directory /home/csb
csb 0:00 \_ gnome-pty-helper
csb 0:00 \_ bash
csb 0:00 |
\_ ssh [redacted]
csb 0:00 \_ bash
csb 0:00 \_ ps fauwx
csb 0:00 \_ grep --color=auto -A6 xfce4-terminal
csb 0:00 \_ awk { for (i = 2; i <= 9; i++) $i="" ; print $0 }
Todos esses processos estão em execução nos processos 'xfce4-terminal', então, se eu matar esse processo, ele matará automaticamente todos os processos filhos no grupo de processos ... da mesma maneira, por exemplo, que sair da janela do emulador de terminal necessariamente matar minha conexão SSH.
Programas como shells criam novos grupos de processos, geralmente colocando processos filhos relacionados em um grupo. Cada trabalho é um grupo de processos. Fora do kernel, um shell manipula um trabalho enviando sinais para o grupo de processos do trabalho com a chamada do sistema killpg, que envia um sinal para todos os processos em um grupo de processos.