crontab に 5 つのジョブを追加した場合、それらは非同期で並行して実行されますか? ジョブのうち 2 つは完了するまでに 10 分かかる可能性があり、それらをバックグラウンドで実行する必要があるかどうかを知りたいです (コマンドの最後に & を追加します)。
答え1
crontab
エントリは独立して処理されるため、ジョブは非同期で並行して実行されます。バックグラウンドで実行する必要はありません。
ジョブを同期する必要がある場合は、crontab ジョブはそれ自身と同時に実行できますか?。
答え2
ジョブが実行される正確な順序は、システムの crond の実装によって異なります。お使いの OS は何ですか? crontab に cronjob がある場合:
Job 1
Job 2
Job 3
Debianではジョブ1はジョブ2の終了を待たずに開始されます。Debian
とUbuntuの派生ではトップボトムです。FreeBSD
ではボトムトップです。
cron ジョブが /etc/cron.hourly(または daily/monthly/weekly) にある場合、それらを実行するスクリプトは並列ではなく順番に実行します。(スクリプトはそれらをループし、それぞれが終了するのを待ちます)
編集
2つの異なるcronジョブを追加します(ここではsyslogが設定されていると想定しています)
* * * * * ls /etc/
* * * * * echo "whatever
tail -f /var/log/cron