Каждое ли задание Linux cron выполняется последовательно или параллельно?

10

Допустим, я создал две работы cron:

  • Cron Job A, работает каждый день в 8:00
  • Cron Job B, работает каждый день в 8:05

Тем не менее, работа Cron Job A занимает 12 часов (не спрашивайте, почему, это пример).

Будет ли запускаться задание Cron B в 8:05 или же задания cron будут выполняться только по одному за раз?

Если задание Cron, которое ранее выполнялось, было прервано перезагрузкой / перезагрузкой системы, возобновится ли оно / снова запустится после следующей загрузки?

Адам Б
источник
2
Первую часть этого так легко проверить, я удивлен, что вы этого не сделали.
user9517 13.09.13
1
Тестирование - это одно, но я пытаюсь получить информацию о том, как работает cron. Да, я, вероятно, могу просмотреть источник cron, но это займет больше времени. Например, я хотел бы знать, порождаются ли все задания cron как новый процесс, который, насколько я понимаю, таков. А также, есть ли предел одновременного запуска заданий cron, который, по-видимому, также основан на реализации.
Адам Б

Ответы:

11

Да, работа cron B будет выполняться в 8:05. Вы также можете запустить более одной длительной работы в 8:00 и т. Д.

Однако работа не будет возобновлена ​​после перезагрузки. Если вам нужно что-то подобное, перепишите свою работу с помощью обертки, которая часто назначается и проверяет, есть ли что-то новое или что-то еще, чтобы продолжить. Очевидно, это будет зависеть от задачи, которую вы хотите выполнить.

Свен
источник
Если бы все сводилось к этому, то я бы, вероятно, перешел на Демон. Я вижу, что с точки зрения перезагрузок / отключений питания и т. Д., Демон может быть более устойчивым.
Адам Б
2
@AdamB: есть много задач, для которых cron не подходит. Как всегда, выберите инструмент, подходящий для вашей задачи. Например, это может быть полезно посмотреть anacron.
Свен
5

Они работают параллельно. Cron Job B будет работать в 8:05.

Брайан Минтон
источник
1

Каждый cron в вашей системе изолирован друг от друга, но время выполнения задания cron будет зависеть исключительно от распределения системных ресурсов и работы, для которой был запланирован Cron.

Абхишек Ананд Амралкар
источник
Будет ли он? Я думаю, что это также может зависеть от того, что делает cronjob, от каких входных данных или для чего, и от ряда других факторов.
Сокол Момот