Как я могу остановить работу cron, которая в данный момент выполняется?
9 ответов
Вы можете сделать это так же, как вы остановите любой процесс.
Чтобы остановить текущее запущенное задание cron
, вы можете выполнить одно из следующих действий:
pkill process-name
или если вы знаете PID (вы можете определить его, запустив ps
):
kill 1234
(подставляя фактический PID)
Чтобы прекратить работу cron.Сначала получите идентификатор процесса вашей команды с
top -p $(pgrep -d',' your_command)
например:-
top -p $(pgrep -d',' httpd)
и беги
kill PID
заменить PID
на идентификатор процесса
Странно, никто не упомянул этот метод:
$ crontab -e
В открывшемся редакторе удалите строку задачи, которую вы хотите остановить, или вставьте знак #
, сохраните и выйдите
например
до
* * * * * some_script1
* * * * * some_script2
после
* * * * * some_script1
#* * * * * some_script2
или же
* * * * * some_script1
перезапустите сервис после внесения изменений
sudo service cron reload
Если вы используете Redhat (RHEL)/Fedora Core/Cent OS Linux, используйте следующую команду:
/etc/init.d/crond stop
Если вы используете Debian или Ubuntu Linux, введите следующую команду:
/etc/init.d/cron stop
PS: Вы должны быть пользователем root, чтобы делать эти вещи
Сначала наберите ps aux
чтобы увидеть, что запущены все процессы.
Затем запишите PID
каждого процесса, который вы хотите остановить
Затем введите
kill {PID
} для каждого процесса.
Также посмотрите на эти ссылки (ссылки суперпользователя):
Вы можете отредактировать таблицу cron и закомментировать задание. Переключитесь на пользователя, который управляет задачей, экспортируйте свой редактор в среду, затем используйте crontab -l
:
$ su - root
...
# EDITOR=vi; export EDITOR
# crontab -l
Прежде всего, проверьте рабочий процесс с помощью этой команды.
ps -o pid,sess,cmd afx | egrep "( |/)cron( -f)?$"
Вывод этой команды
599 599 cron
4288 599 \_ CRON
а теперь убить процесс с помощью этой команды
pkill -s 4288
Работая на меня для Linux
pkill -9 crontab
Убивает весь процесс с именем процесса crontab
crontab -r
удалит все запущенные crontabs, или вы можете просто прокомментировать команды в crontab, которые нужно остановить.