7

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

4

2 回答 2

21

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

0 * * * * timeout -s 9 3540 /path/to/your_command.sh

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

于 2012-09-04T04:40:21.187 回答
7

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

于 2015-07-09T14:39:33.510 回答