![Выполняются ли задания cron в Linux последовательно или параллельно?](https://rvso.com/image/617826/%D0%92%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D1%8F%D1%8E%D1%82%D1%81%D1%8F%20%D0%BB%D0%B8%20%D0%B7%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F%20cron%20%D0%B2%20Linux%20%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%20%D0%B8%D0%BB%D0%B8%20%D0%BF%D0%B0%D1%80%D0%B0%D0%BB%D0%BB%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%3F.png)
Допустим, я создаю два задания cron:
- Задача Cron A запускается каждый день в 8:00 утра.
- Cron Job B, запускается каждый день в 8:05 утра.
Однако выполнение задания Cron A занимает 12 часов (не спрашивайте почему, это пример).
Будет ли задание Cron B запускаться в 8:05 утра или задания cron будут выполняться только по одному за раз?
Если ранее запущенное задание Cron было прервано перезапуском/перезагрузкой системы, возобновится ли оно/запустится снова после последующей загрузки?
решение1
Да, cron job B будет запущен в 8:05. Вы также можете запустить более одной длительной задачи в 8:00 и т. д.
Однако после перезагрузки работа не возобновится. Если вам нужно что-то подобное, перепишите свою работу с помощью оболочки, которая часто планируется и проверяет, есть ли у нее что-то новое для выполнения или что-то еще для продолжения. Это будет зависеть от задачи, которую вы хотите выполнить, очевидно.
решение2
Они запускаются параллельно. Cron Job B будет запущен в 8:05 утра.
решение3
Каждый cron в вашей системе изолирован друг от друга, но время выполнения задания cron будет зависеть исключительно от распределения системных ресурсов и работы, для которой был запланирован Cron.