Может ли работа crontab работать одновременно с собой?

Если у меня есть работа crontab, которая запускается, например, каждый час, но для выполнения этой задачи может потребоваться больше часа, не будет ли выполнено следующее задание?

2 Solutions collect form web for “Может ли работа crontab работать одновременно с собой?”

Нет, скрипты cron выполняются параллельно, если вы не реализуете какой-либо механизм блокировки.

См. Быстрый и грязный способ обеспечения одновременного запуска только одного экземпляра сценария оболочки и Правильной блокировки в сценариях оболочки? для возможных решений.

Более простой способ – использовать lockfile , например, в этом ответе или в пакете run-one (см. Этот ответ ) – благодаря gertvdijk для его предложения.

Там также whenjobs когда они предназначены для «мощной, но простой замены cron» . Из его manpage :

ПРЕДВАРИТЕЛЬНЫЕ ФУНКЦИИ

Перед запуском задания вы можете организовать функцию «pre». Эта функция может решить не запускать задание (возвращая «ложь»).

Одно из них заключается в том, чтобы предотвратить выполнение определенного задания, если уже есть экземпляр одной и той же работы:

 job "only one" pre (Whentools.one ()) every 10 seconds : << # Takes longer than 10 seconds to run, but 'Whentools.one ()' # will ensure only one is ever running. sleep 11 >> 

(Он также предоставляет Whentools.max n , позволяя запускать n экземпляров задания. По умолчанию он работает как Cron.)

  • Как показать диалог Java, когда cron запускает программу Java?
  • Могу ли я использовать переменные в файле crontab?
  • / etc / crontab отредактировано путем копирования и вставки, как вернуться назад?
  • Выполнение всех Cronjobs в среде ~ / .zshenv
  • Добавить задание CRON из командной строки?
  • сломанное задание cron после его редактирования
  • Не все сценарии оболочки, работающие с crontab
  • проблема с работой cron каждые 2 минуты
  • Как fcron знает, была ли выполнена работа?
  • Что решает, когда cron.hourly работает?
  • Запуск программы с использованием задания cron
  • Выполнение cron 9 до 5 и в полночь
  • Linux и Unix - лучшая ОС в мире.