Можно ли отправить сигнал уничтожения всем процессам с данным ppid?

Я обнаружил, что должен регулярно отправлять kill -STOP один миллион процессов, но все они происходят от одного и того же родителя. Есть ли более умный способ сделать это?

2 ответа

Решение

Пытаться pkill:

pkill -STOP -P the_ppid

Если у вас нет pkillесть альтернатива:

ps -o pid --ppid the_ppid --no-heading | xargs kill -STOP

Все они могут быть в одной группе процессов? если это так, вы можете просто использовать обычную старую команду kill и сделать pid отрицательным.

Итак, чтобы найти группу процессов всех процессов 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

Затем, чтобы отправить сигнал всей группе процессов:

$ sudo kill -KILL -24065
Другие вопросы по тегам