Suponha que executemos algum tipo de script python por meio de python stuff.py
. Podemos facilmente encontrar o seu PID via pgrep
$ pgrep -f stuff.py
7573
E mate com pkill
de maneira semelhante.
$ pkill -f stuff.py
Se você quer matar apenas o processo filho, e não o script em si, então precisamos descobrir as crianças. O comando ps
permite processos de impressão com PPID (pai PID). Então, se você conhece o pai (seu script python), então você conhece os filhos também.
$ ps -e -o args,pid,ppid | grep $(pgrep -f run_bash.py ) | grep -v grep
python run_bash.py 8186 4021
watch ls 8187 8186
Aqui meu script python executa o comando watch ls
. Eu posso matar 8187 para fechar watch ls
e deixar o script python passar para as outras coisas.