Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个预定的 cron 作业(实际上是一个 shell 脚本)。我想限制脚本执行时间,因为它的工作时间长得令人无法接受。出于某种原因,我无法从脚本内部限制脚本执行时间。实际上,如果它运行超过 N 小时,我希望我的系统强制终止任务。请指教。
我自己回答只是因为没有人回答。
0 * * * * timeout -s 9 3540 /path/to/your_command.sh
如果 59 分钟内未完成,将向您的命令发送 SIGINT。
使用 -s 9 有点极端,因为它不会让进程进行任何清理。是的,如果它可以被杀死,它将杀死进程,但是> 90%的时间 a -s 1 请求优雅挂断就足够了。