首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何让unix脚本每15秒运行一次?

如何让unix脚本每15秒运行一次?
EN

Stack Overflow用户
提问于 2009-06-23 18:17:59
回答 8查看 148.8K关注 0票数 84

我已经看到了一些解决方案,包括手表和简单地在后台运行循环(和睡眠)脚本,但没有一个是理想的。

我有一个需要每隔15秒运行一次的脚本,由于cron不支持秒,所以我只能解决其他问题。

在unix上,每15秒运行一次脚本的最健壮和最有效的方法是什么?该脚本还需要在重新启动后运行。

EN

回答 8

Stack Overflow用户

发布于 2009-06-23 18:28:58

如果您坚持从cron运行脚本:

代码语言:javascript
复制
* * * * * /foo/bar/your_script
* * * * * sleep 15; /foo/bar/your_script
* * * * * sleep 30; /foo/bar/your_script
* * * * * sleep 45; /foo/bar/your_script

并将脚本名称和路径替换为/foo/bar/ your _script

票数 295
EN

Stack Overflow用户

发布于 2013-10-23 22:44:41

以上内容的修改版本:

代码语言:javascript
复制
mkdir /etc/cron.15sec
mkdir /etc/cron.minute
mkdir /etc/cron.5minute

添加到/etc/crontab:

代码语言:javascript
复制
* * * * * root run-parts /etc/cron.15sec > /dev/null 2> /dev/null
* * * * * root sleep 15; run-parts /etc/cron.15sec > /dev/null 2> /dev/null
* * * * * root sleep 30; run-parts /etc/cron.15sec > /dev/null 2> /dev/null
* * * * * root sleep 45; run-parts /etc/cron.15sec > /dev/null 2> /dev/null

* * * * * root run-parts /etc/cron.minute > /dev/null 2> /dev/null
*/5 * * * * root run-parts /etc/cron.5minute > /dev/null 2> /dev/null
票数 15
EN

Stack Overflow用户

发布于 2009-06-23 18:28:41

不会在后台运行它吧?

代码语言:javascript
复制
#!/bin/sh
while [ 1 ]; do
    echo "Hell yeah!" &
    sleep 15
done

这几乎是它得到的最高效率。重要的部分仅每15秒执行一次,脚本在其余时间休眠(因此不会浪费周期)。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1034243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档