为 cron 作业设置超时

Mik*_*maa 11 linux ubuntu timeout cron

Ubuntu Linux cron(Vixie cron?)是否支持为其作业设置超时?

具体来说,该进程将在 X 秒后被终止,除非它到那时成功完成。

我遇到过一些由于网络连接和各种问题而导致任务挂起的情况。除非您手动清理并杀死它们,否则该过程将永远挂起。

Zor*_*che 27

在 Ubuntu 上存在命令超时,它是 coreutils 的一部分。您可以像这样使用它来设置超时。旧版本的 Debian/Ubuntu 没有构建和包含此命令,但timeout您可以安装一个类似的包。

# puppet shouldn't take more then 40 minutes!
47 * * * * root /usr/bin/timeout 2400 /usr/bin/puppet agent ...
Run Code Online (Sandbox Code Playgroud)

  • 持续时间也可以有后缀(“s”代表秒,“m”代表分钟,“h”代表小时,“d”代表天)。所以为了更好的可读性,上面也可以写成 47 * * * * root /usr/bin/timeout 40m /usr/bin/puppet agent ... (3认同)