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

Убить все запущенные в данный момент задания cron

По какой-то причине мои сценарии задания 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, то вы можете убивать важные вещи, да.