如何限制shell脚本执行时间?

时间:2012-08-30 10:34:55

标签: shell cron cron-task

我有一个预定的cron作业(实际上是一个shell脚本)。我想限制脚本执行时间,因为它可以工作不可接受的长时间。出于某种原因,我无法限制脚本内部的脚本执行时间。实际上,如果运行时间超过N小时,我希望我的系统强制终止任务。请指教。

2 个答案:

答案 0 :(得分:20)

我自己回答是因为没有人回答。

0 * * * * timeout -s 9 3540 /path/to/your_command.sh
如果尚未在59分钟内完成,

将向您的命令发送SIGINT。

答案 1 :(得分:7)

使用-s 9有点极端,因为它不会让进程进行任何清理。是的,它会杀死这个过程,如果它可以被杀死,但是>要求优雅挂断的90%的时间a -s 1就足够了。