Я использую 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 одновременно, пока эта блокировка не будет снята.