Выполняет ли cron задания асинхронно?

Выполняет ли cron задания асинхронно?

Если я добавлю 5 заданий в свой crontab, будут ли они выполняться асинхронно параллельно? Два моих задания могут занять 10 минут для завершения, и я хочу знать, нужно ли мне запускать их в фоновом режиме (добавив & в конце команды).

решение1

crontabЗаписи обрабатываются независимо, так что да, задания выполняются асинхронно, параллельно. Вам не нужно их фонировать.

Если вам когда-нибудь понадобится синхронизировать задания, ознакомьтесь с методами, упомянутыми вМожет ли задание crontab выполняться одновременно с самим собой?.

решение2

Точная последовательность выполнения заданий будет зависеть от реализации crond вашей системы. Какая у вас ОС? Если у вас cronjob в crontab:

Job 1
Job 2
Job 3

В Debian Job1 запустится, не дожидаясь завершения Job 2 и т. д.
В Debian и производных Ubuntu это сверху вниз.
В FreeBSD это снизу вверх.

Если ваши cronjobs находятся в /etc/cron.hourly (или ежедневно/ежемесячно/еженедельно), то скрипт, который их запускает, делает это последовательно, а не параллельно (скрипт циклически проходит по ним и ждет завершения каждого).

РЕДАКТИРОВАТЬ Добавьте два разных задания cron (здесь я предполагаю, что у вас настроен syslog)
* * * * * ls /etc/
* * * * * echo "whatever
tail -f /var/log/cron

Связанный контент