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

По какой-то причине мои сценарии работы cron не завершаются корректно, и они создают резервную копию моего сервера. В настоящее время для одного из моих пользователей запущено несколько сотен процессов. Я могу использовать следующую команду, чтобы убить все процессы этого пользователя, но как я могу упростить это, чтобы убить только кроны?

pgrep -U username | while read id ; do kill -6 $id ; done

Было бы опасно запускать вышеуказанную команду как есть, правильно? Разве это не убило бы MySQL и другие важные вещи?

2 ответа

Решение

Чтобы убить все процессы для пользователя, у вас есть несколько вариантов. Мне нравится: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 Сигнал на самом деле очень опасен, поэтому вы должны проверить, что вы собираетесь убить. Если имя пользователя 'root', то вы можете убивать важные вещи, да.

Другие вопросы по тегам