bash - 在 Bash 中每 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

来编辑您的 crontab

关于bash - 在 Bash 中每 6 分钟运行一次命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32993858/

相关文章:

linux - 在 Unix 中递归地用先前回显的值替换回显值

linux - Bash 脚本从第二个 bash 脚本获取变量

linux - Awk - 如何剪切一行,检查一列是否匹配某些内容,打印另一列?

GCC 编译器 - 无法识别的选项 '-R/usr'

bash - 需要帮助修改 Shell 脚本以更改 CentOS 上的 ip 地址

python - CentOS 上 pip 包管理器的问题

Bash 逐行读取文本文件并触发 logger 将该行记录到 var/log

linux - 在我的命令行中运行 vi 后发生了一些奇怪的事情

mysql - 如何检测每小时在 MySQL 上运行的是什么?

linux - 如何在没有大堆栈的情况下在 2 个不同的 Centos 主机上建立 2 个服务之间的依赖关系?