LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1141|回复: 3

请问怎样在shell脚本中实现“秒”一级的定时器?谢谢!

[复制链接]
发表于 2010-7-12 05:55:51 | 显示全部楼层 |阅读模式
crontab只能精确到分钟,无法做到“秒”一级的定时器,请教各位有什么解决办法?谢谢!
发表于 2010-7-12 14:46:14 | 显示全部楼层
Post by huxiaoqn;2102679
crontab只能精确到分钟,无法做到“秒”一级的定时器,请教各位有什么解决办法?谢谢!



如果是不太重要的任务可以用sleep命令配合脚本实现
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-13 06:17:38 | 显示全部楼层
一天时间,只有一位朋友回帖,唉……
多谢gao_linfeng!用sleep或许再加上kill之类的命令,感觉不把握!再看看其他朋友有没有更好的方法。
回复 支持 反对

使用道具 举报

发表于 2010-7-13 18:12:50 | 显示全部楼层
Post by huxiaoqn;2102921
一天时间,只有一位朋友回帖,唉……
多谢gao_linfeng!用sleep或许再加上kill之类的命令,感觉不把握!再看看其他朋友有没有更好的方法。

写了个脚本测了一下,我觉得一秒的精度,肯定是够了:
  1. $ cat timer.sh
  2. #!/bin/bash
  3. while true
  4. do
  5. sleep 0.1
  6. echo `date +%N`
  7. done
复制代码
  1. sh timer.sh
  2. 074480622
  3. 176167140
  4. 277826486
  5. 379497144
  6. 481188960
  7. 583174678
  8. 685040610
  9. 787141144
  10. 888804146
  11. 990457520
  12. 092105536
  13. 193772708
  14. 295433497
  15. 397100050
  16. 498752648
  17. 600396151
  18. 702413007
  19. 804119528
  20. 905800443
  21. 007472633
  22. 109128198
复制代码
定时的线程只负责发出一个信号,其余的kill, echo, io什么的,要不写到这个函数,应该可以确保10个毫秒的精度的。再高的话直接用C语言和rtc得了……
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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