Possível enviar sinal de kill a todos os processos com um dado ppid?

6

Eu encontrei-me regularmente enviando kill -STOP um milhão de processos , mas todos vêm do mesmo pai. Existe uma maneira mais inteligente de fazer isso?

    
por quodlibetor 07.10.2009 / 18:14

2 respostas

15

Experimente pkill :

pkill -STOP -P the_ppid

Se você não tem pkill , há uma alternativa:

ps -o pid --ppid the_ppid --no-heading | xargs kill -STOP
    
por 07.10.2009 / 18:48
2

Eles podem estar todos no mesmo grupo de processos? se for esse o caso, você pode apenas usar o comando regular kill antigo e tornar o pid negativo.

Então, para encontrar o grupo de processos de todos os processos do apache:

$ sudo ps -e -o cmd,pgrp | grep apache
/usr/sbin/apache2 -k start  24065
/usr/sbin/apache2 -k start  24065
/usr/sbin/apache2 -k start  24065
/usr/sbin/apache2 -k start  24065

Em seguida, envie um sinal para todo o grupo de processos:

$ sudo kill -KILL -24065
    
por 07.10.2009 / 21:58

Tags