Назад | Перейти на главную страницу

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

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

Пытаться 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