8 我有一个cronjob,它每小时运行一次,偶尔花很长时间才能运行,有什么办法可以设置最大运行时间?如果超过该时间,该工作就会被终止? 这是在Ubuntu 10.04服务器上。 谢谢jebw linux ubuntu cron — 捷豹 source
11 尝试timeout命令。例如: 0 * * * * timeout -2 3540 /path/to/your_command.sh 如果SIGINT在59分钟内未完成,则会将SIGINT发送给您的命令。 — Cakemox source 好信息。您错过了“ -s”,但它是“超时-s 2 3540 <command>”。 — Fish Monitor 通过apt在ubuntu上安装的usage: timeout [-signal] time command... — 脚本 “ dpkg -S bin / timeout”有什么作用?实际上,我的是来自coreutils的,是纯GNUish的。 — Fish Monitor timeout: /usr/bin/timeout — Cakemox 2011年 10.04,与OP相同。 — Cakemox 2011年
0 不。我们的方法是制作一个带有锁定文件的脚本,并在再次开始运行之前让脚本检查该锁定文件,以便它可以检查它是否已经在运行,并确定它是否在运行,是否等待其他文件运行。结束,或者在运行前杀死另一端。 锁定文件只是一个空文件,或者是带有其他脚本的文件,该脚本PID保存在/var/run或某处/var/lock。 — 核心转储 source