Você precisa matar todo o grupo de processos. O ID do grupo de processos (PGID) é o PID do processo que iniciou o grupo. Para eliminar o grupo de processos, você precisa encontrar o PID do processo que iniciou o grupo de processos, ou seja, o script ou comando que iniciou tudo. A sintaxe é:
kill -- -PGID
Por exemplo:
kill -- -1234
Aqui 1234 é o PGID (ID do grupo de processos).
Isso enviará SIGTERM para todos os processos no grupo de processos. Para enviar um sinal diferente, por ex. SIGKILL (9) faz:
kill -9 -1234
Como encontrar o PGID:
Você pode fazer:
ps -eo 'pid,ppid,pgid,cmd'
Isto irá ajustar o PID, o PPID (ID do processo pai), o PGID e o nome do processo.
Agora você pode usar grep
ou qualquer outro método adequado para encontrar o PGID e, em seguida, eliminá-lo pelos métodos mencionados acima.
A razão pela qual eu fiz o comando para mostrar o PPID é porque você também pode tentar matar o processo baseado na correspondência PPID por pkill
:
pkill -P PPID
Por exemplo:
pkill -P 6789
Usando este método, você precisa encontrar todos os processos pai (e filhos) e então matá-los, então, na minha opinião, matar toda a árvore de processos é uma maneira melhor se você quiser matar todos eles.