Каждое ли задание 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.
Свен


1

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


Будет ли он? Я думаю, что это также может зависеть от того, что делает cronjob, от каких входных данных или для чего, и от ряда других факторов.
Сокол Момот
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.