ubuntu - Linux定时任务Crontab -e 怎么一秒为单位请求
阿神
阿神 2017-04-17 16:00:52
[Linux讨论组]

我这样请求是1分钟,怎么样实现1秒

阿神
阿神

闭关修行中......

全部回复(6)
PHP中文网

用脚本for循环去执行。否则如果你要修改秒数间隔,或者修改执行内容,你还一行一行改么。

app.sh

step=1
for (( i=0;i<60;i=(i+$step) )); do
    curl http://www.google.com &
    sleep $step
done

crontab -e

* * * * * sh /app.sh
巴扎黑
* * * * * sleep 1s;curl http://www.baidu.com
* * * * * sleep 2s;curl http://www.baidu.com
...
* * * * * sleep 59s;curl http://www.baidu.com

大概就是这个意思,你可以写成一个脚本来执行。
在脚本中使用循环,每次循环sleep 1s;然后执行curl,循环60次。然后每分钟执行一次这个脚本就可以实现每秒请求一次了。

高洛峰

目前了解到秒级的处理方案有两个。
第一:写一个死循环脚本:

while(true){
do command
}

第二:就是@白菜1031提的那个方法写60行crontab

ringa_lee

crontab的精度是一分钟 所以想到直接crontab这条路已经死了。
只能写个shell。 shell sleep的时间为一秒
可以参考
crontab实现
How to get a unix script to run every 15 seconds?

阿神

简单的,可以用:

while sleep 1; do curl -i http://xxx...xxxx/test; done

接下来,你可能会考虑如何在后台运行,有几个选择:

  • nohup

  • init.d

  • systemctl

  • supervisor

这儿的解答可以帮助你。

怪我咯

不需要脚本

* * * * * for i in {0..59}; do curl wwww.baidu.com & sleep 1; done
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号