Назад | Перейти на главную страницу

Завершается ли процесс задания cron, когда выполняется вызываемый им скрипт, или только когда он завершается?

Я использую cron для запуска php-скрипта каждую минуту, и я хочу заблокировать его, чтобы он не перекрывался. Итак, мой вопрос: если я заблокирую задание cron с помощью flock, заблокирую процесс cron или php-скрипта?

flock оборачивает блокировку вокруг выполнения команды и удерживает блокировку, пока эта команда выполняется.

Если это ваша cronjob, которая выполняется каждую минуту:

* * * * * /usr/bin/flock -n /tmp/fcj.lockfile /usr/local/bin/frequent_cron_job 

flock будет удерживать блокировку в течение /usr/local/bin/frequent_cron_job. Если это пакетное задание занимает больше минуты, cron не сможет получить блокировку и не будет запускать этот пакет снова и / или несколько экземпляров partial_cron_job одновременно, пока эта блокировка не будет снята.