Как я могу остановить работу cron, которая в данный момент выполняется?
Как я могу остановить работу cron, которая в данный момент выполняется?
Ответы:
Вы можете сделать это так же, как вы остановите любой процесс.
Чтобы остановить текущее cron
задание, вы можете выполнить одно из следующих действий:
pkill process-name
или если вы знаете PID (вы можете определить его, запустив ps
):
kill 1234
(подставляя фактический PID)
pgrep
или grep
вывод ps
. Там нет ничего особенного в процессе запуска cron
. Вы бы просто искали процесс под своим именем. Вы также можете сделать это, ps fauxww | grep -A 1 '[C]RON'
и строки под строкой (-ами) будут показывать выполняемые задания cron
. Вы можете настроить число 1 выше, чтобы увидеть подпроцессы, если таковые имеются.
ps fauxww | grep -A 1 '[C]RON'
. В этом списке перечислены текущие запущенные задания cron, поэтому после этого вы можете записать PID и выполнить его # kill -9 PID
. Благодарность!
-9
следует использовать только в качестве крайней меры, поскольку он не позволяет процессу выполнять очистку при выходе.
Чтобы прекратить запуск задания 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
crontab -e
для редактирования. Для систем, которые имеют это, предпочтительно использовать sudo
вместо su
. Также, crontab -e
будет работать для пользовательского (или корневого) crontab, но не для системного crontab (например /etc/cron*
).