Список, в настоящее время выполняющий вкладку крона и остановку это

Настройте сервер VNC, чтобы только принять соединения от Вашего IP.

6
29.04.2019, 15:10
4 ответа

Необходимо остановить процесс, который crontab начал выполнять.

#kill -HUP PID (PID: Process ID is the process running)

Видеть отношение PID с рабочими процессами (и больше информации) использование top команда, измените порядок столбцов с ключами < и >

Также попробуйте ps -ax|grep [your_process_file] который перечисляет рабочие процессы, фильтрованные именем, Вы выбираете

- ПОНУКНИТЕ =, зависают

1
27.01.2020, 20:27
  • 1
    я ввел "вершину", но не видел моего крона в списке. –  emeraldhieu 16.01.2012, 13:57
  • 2
    Вы не должны видеть cron или crontab, Вы искать процесс что Вы крон, просто выполненный. Между прочим, если Вы редактируете свой крон (crontab -e), сотрите cronjob строку и сохраните, Ваш процесс не выполнит снова –   16.01.2012, 14:01
  • 3
    , я создал крон, работающий update_user.php. Когда я ввел "вершину", нет никакого процесса с именем "update_user.php", я просто вижу список с "mysqld", "php", "init"... Как знать PID моего крона? –  emeraldhieu 16.01.2012, 14:03
  • 4
    Как был вызов cronjob? это было что-то как 0 0 * * * /var/www/update_user.php? –   16.01.2012, 14:05
  • 5
    Да! Что-то вроде этого 50 3 1 * */usr/local/bin/php-f/home/www/xxx/libs/update_user.php. Я уверен, что это запустилось. –  emeraldhieu 16.01.2012, 14:07

Я думаю, ли обертка сценария оболочки вокруг этого, должен тайм-аут cronjob, если это работает за долгие достаточно произвольно длительные промежутки времени. Обертка должна отправить SIGHUP или SIGALARM, когда тайм-аут происходит с периода, cronjob вызывается. Что-то вроде этого:

50 * * * * /usr/bin/my_cron_wrapper_timeout -t 1 /usr/bin/my_command_cron_job_to_run

Этот cron_wrapper_timeout должен в основном отправить сигнал тайм-аута однажды-t передачи часа опции 1 переключателя и затем должен отправить kill -HUP предупредите к cronjob и затем удостоверьтесь, что пожинали процесс также и затем закончились/уничтожили себя.

Или альтернативно, код должен быть написан с в самом cronjob, чтобы обработать тайм-аут Аварийного сигнала и удостовериться, что он моется, прежде чем он умрет мягко.

Править

Это точно, к чему я обращался: сторожевой таймер по http://chihungchan.blogspot.com/2011/03/no-more-hanging-jobs-in-cron.html

3
27.01.2020, 20:27

Жалко, что на этой и других страницах, перечисленных в Google, говорится о том, как бороться с зависшими заданиями cron, о которых никто никогда не упоминает pstree.

pstree

Посмотрите в разделе cron в дереве

3
27.01.2020, 20:27

Прежде всего проверьте рабочий процесс с помощью этой команды.

ps -o pid,sess,cmd afx | egrep "( |/)cron( -f)?$"

Результатом этой команды является

599  599 cron
4288  599 \_ CRON

, и теперь завершите процесс с помощью этой команды

pkill -s 4288
0
27.01.2020, 20:27

Теги

Похожие вопросы