Можно ли отправить сигнал уничтожения всем процессам с данным 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