По какой-то причине мои сценарии задания cron не завершаются корректно, и они создают резервную копию моего сервера. В настоящее время для одного из моих пользователей работает пара сотен процессов. Я могу использовать следующую команду, чтобы убить все процессы этого пользователя, но как я могу упростить это, чтобы убить только клонов?
pgrep -U username | while read id ; do kill -6 $id ; done
Было бы опасно запускать указанную выше команду как есть, верно? Разве это не убило бы mysql и другие важные вещи?
Чтобы убить все процессы для пользователя, у вас есть несколько вариантов. Мне нравиться: su - username
затем kill -9 -1
Чтобы узнать, какие процессы "cron" принадлежат пользователю:
pgrep -u username cron
Чтобы убить эти процессы:
pkill -u username cron
Использование:
kill -6 $(pgrep -U username cron)
Вы можете искать с полной строкой pgrep с помощью -f
arg, если вам нужно убить определенные задания cron, оставив другие в живых.
kill
signal на самом деле довольно опасен, поэтому вы должны проверить, что вы собираетесь убить. Если имя пользователя root, то вы можете убивать важные вещи, да.