cron은 작업을 비동기적으로 실행합니까?

cron은 작업을 비동기적으로 실행합니까?

crontab에 5개의 작업을 추가하면 비동기식으로 병렬로 실행됩니까? 내 작업 중 두 개를 완료하는 데 10분이 걸릴 수 있으며 명령 끝에 &를 추가하여 백그라운드에서 해당 작업을 실행해야 하는지 알고 싶습니다.

답변1

crontab항목은 독립적으로 처리되므로 작업은 비동기식, 병렬로 실행됩니다. 배경을 설정할 필요가 없습니다.

작업을 동기화해야 하는 경우 다음에 언급된 기술을 확인하세요.crontab 작업을 동시에 실행할 수 있나요?.

답변2

작업이 실행되는 정확한 순서는 시스템 크론드 구현에 따라 다릅니다. 당신의 OS는 무엇입니까? crontab에 cronjob이 있는 경우:

Job 1
Job 2
Job 3

Debian에서는 Job1이 시작되고 Job 2가 완료될 때까지 기다리지 않습니다.
Debian 및 Ubuntu 파생물에서는 top-bottom입니다.
FreeBSD에서는 Bottom-top입니다.

cronjob이 /etc/cron.hourly(또는 daily/monthly/weekly)에 있는 경우 이를 실행하는 스크립트는 병렬이 아닌 순차적으로 수행합니다. (스크립트는 이를 반복하고 각각이 완료될 때까지 기다립니다)

편집하다 두 개의 다른 cronjob을 추가합니다(여기서는 syslog가 구성되어 있다고 가정합니다).
* * * * * ls /etc/
* * * * * echo "whatever
tail -f /var/log/cron

관련 정보