<分区>
我想每 6 分钟安排一次像 ./example
这样的命令,当 6 分钟完成后,它会退出进程并再次运行。我将如何在 Bash 中做到这一点?我运行 CentOS。
<分区>
我想每 6 分钟安排一次像 ./example
这样的命令,当 6 分钟完成后,它会退出进程并再次运行。我将如何在 Bash 中做到这一点?我运行 CentOS。
最佳答案
我会每六分钟运行一次 cronjob,并使用 timeout
命令在 5 分 50 秒后杀死它。
这是一个示例 crontab 规则:
*/6 * * * * cd /path/to/your/file && timeout -s9 290s ./example
它将工作目录更改为您拥有脚本的位置,然后执行脚本。请注意,我使用 -s9
标志向它发送信号 9 (SIGKILL),这意味着“立即终止”。在大多数情况下,您可能需要考虑改为发送 SIGTERM,它告诉脚本“正常退出”。如果是这种情况,您可以考虑通过进一步降低超时值来为脚本提供更多的退出时间。要发送 SIGTERM 而不是 SIGKILL,只需删除 -s9
标志。
您可以通过运行 crontab -e
关于bash - 在 Bash 中每 6 分钟运行一次命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32993858/