cronはジョブを非同期的に実行しますか?

cronはジョブを非同期的に実行しますか?

crontabに5つのジョブを追加すると、そのジョブは非同期で並列に実行されますか?完了するのに10分かかることがある2つのタスクがあります。コマンドの最後に&を追加してバックグラウンドで実行する必要があるかどうか疑問に思います。

答え1

crontab項目は独立して処理されるため、ジョブは非同期で並列に実行されます。背景を設定する必要はありません。

タスクを同期する必要がある場合は、次の技術を確認してください。crontabジョブを同時に実行できますか?

答え2

ジョブが実行される正確な順序は、システムのクローンの実装によって異なります。あなたのオペレーティングシステムは何ですか? crontabにcronjobがある場合:

Job 1
Job 2
Job 3

Debianでは、Job1はJob2が完了するのを待たずに起動します。
DebianとUbuntuの派生製品ではトップダウンです。
FreeBSDではボトムアップです。

cronjobが/etc/cron.hourly(またはdaily/monthly/weekly)にある場合、それを実行するスクリプトは並列ではなく順次実行されます。 (スクリプトはこれを繰り返し、各項目が完了するのを待ちます。)

編集する 2つの異なるcronjobを追加します(ここではsyslogが設定されているとします)。
* * * * * ls /etc/
* * * * * echo "whatever
tail -f /var/log/cron

関連情報