查看: 977|回复: 6
收起左侧

[软件] [python or bash] 怎么样定期循环不用sleep?

[复制链接]
kxmp
发表于 2018-6-30 15:19:08 | 显示全部楼层 |阅读模式
本帖最后由 kxmp 于 2018-6-30 16:05 编辑

用sleep的话 如果需要在指定时间执行操作 他越睡延时越大啊...
比如如果有需求在每分钟0s 或者1s的时候 执行一个操作.
sleep不记录执行过程的时间啊 所以越睡越多 不精准....

bash更是跑的慢... 睡几下就
我感觉直接读取当前秒数
然后写个条件 满足就执行 不满足就不管就行了...

可是不满足之后不管(或者直接输出个!!!)

但是那样就直接结束了 我不知道怎么重新再跳回去


2018-06-30 16:04:48
bash loop好像解决了...


可以用sleep.. 算上执行时间然后动态调整最后的sleep就行了
os52
发表于 2018-6-30 16:11:18 | 显示全部楼层
本帖最后由 os52 于 2018-6-30 17:33 编辑

wait_until() {
    sleep $(( $(date +%s --date="$1") - $(date +%s) ))
}
kxmp
 楼主| 发表于 2018-6-30 16:55:06 | 显示全部楼层
os52 发表于 2018-6-30 16:11
wait_until() {
    sleep $(( $(date +%s --date='$1') - $(date +%s) ))
}

这个date的计算 能用小数么
os52
发表于 2018-6-30 17:33:28 | 显示全部楼层
kxmp 发表于 2018-6-30 16:55
这个date的计算 能用小数么


wait_until_f() {
    sleep $(awk "BEGIN { print $(date +%s.%N --date="$1") - $(date +%s.%N) }")
}
os52
发表于 2018-6-30 17:46:48 | 显示全部楼层
your_task &
sleep 60
imba-tjd
发表于 2018-6-30 17:49:56 | 显示全部楼层
难道不是用crontab吗
kxmp
 楼主| 发表于 2018-6-30 18:36:44 | 显示全部楼层
im-t 发表于 2018-6-30 17:49
难道不是用crontab吗

那个果然是个好办法......
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-25 17:21 , Processed in 0.118483 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表