我可以限制 cronjob 的运行时间吗

jeb*_*ebw 9 linux ubuntu cron

我有一个每小时运行一次的 cronjob,它偶尔需要很长时间才能运行,有什么办法可以设置最大运行时间,如果超过这个时间,作业就会被杀死?

这是在 Ubuntu 10.04 服务器上。

谢谢,杰布

Cak*_*mox 11

试试这个timeout命令。例如:

0 * * * * timeout -2 3540 /path/to/your_command.sh
Run Code Online (Sandbox Code Playgroud)

如果在 59 分钟内未完成,则会向您的命令发送 SIGINT。


cor*_*ump 0

没有。我们这样做的方法是制作一个带有锁定文件的脚本,并让脚本在再次开始运行之前检查该锁定文件,这样它就可以检查它是否已经在运行,并决定是否运行,是否等待另一个脚本运行。 end 或者在运行之前杀死对方。

锁定文件只是一个空文件或PID保存有其他脚本的文件,例如/var/run/var/lock