У меня есть один php script, и я выполняю этот script через cron каждые 10 минут на CentOS.
Проблема заключается в том, что если задание cron займет более 10 минут, тогда начнется другой экземпляр того же задания cron.
Я попробовал один трюк, то есть:
- Создал один файл блокировки с кодом php (такие же, как файлы pid), когда начало работы cron.
- Удаленный файл блокировки с php-кодом при завершении задания.
- И когда любое новое задание cron запустило выполнение script, я проверил, заблокирован ли файл существует, и если это так, прервите script.
Но может быть одна проблема: когда файл блокировки не удаляется или не удаляется с помощью script по какой-либо причине. Cron никогда не начнет снова.
Можно ли каким-либо образом остановить выполнение задания cron, если он уже запущен, с командами Linux или подобными этому?