cron 是否异步执行作业?

cron 是否异步执行作业?

如果我在 crontab 中添加 5 个作业,它们是否会异步并行执行?我的两项工作可能需要 10 分钟才能完成,我想知道是否需要在后台运行它们(通过在命令末尾添加 & )。

答案1

crontab条目是独立处理的,所以是的,作业是异步并行运行的。您不需要为它们设置背景。

如果您需要同步作业,请查看中提到的技术crontab 作业可以与其自身同时运行吗?

答案2

执行作业的确切顺序将取决于系统 crond 的实现。你的操作系统是什么?如果 crontab 中有 cronjob:

Job 1
Job 2
Job 3

在 Debian 中,Job1 将启动,无需等待完成 Job 2 等。
在 Debian 和 Ubuntu 衍生版本中,它是自上而下的。
在 FreeBSD 中,它是自下而上的

如果您的 cronjobs 位于 /etc/cron.hourly(或 daily/monthly/weekly)中 - 那么运行它们的脚本会依次执行,而不是并行执行。 (脚本循环遍历它们并等待每个完成)

编辑 添加两个不同的 cronjobs(这里我假设您配置了 syslog)
* * * * * ls /etc/
* * * * * echo "whatever
tail -f /var/log/cron

相关内容