免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6288 | 回复: 10
打印 上一主题 下一主题

[函数] 如何让一个程序定时调用一个函数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-15 16:36 |只看该作者 |倒序浏览
现在有一个程序,想在每天的某一个固定时间调用一个函数
那么应该怎么实现呢

论坛徽章:
0
2 [报告]
发表于 2006-02-15 16:56 |只看该作者
用crond吧, man 一下

论坛徽章:
0
3 [报告]
发表于 2006-02-15 17:01 |只看该作者
我的意思是在c中实现
例如:

  1. 主程序一直都在运行
  2. main()
  3. {
  4. ................
  5. ...............
  6. .................
  7. 现在需要在每天的12点的时候(固定时间)我就
  8. 调用一个函数A
  9. ..................
  10. ..................
  11. }
复制代码

请问一下我该怎么实现啊
谢谢了

论坛徽章:
0
4 [报告]
发表于 2006-02-15 17:13 |只看该作者
试试alarm或者把这个函数的功能单独写一程序,每天12点cron运行

论坛徽章:
0
5 [报告]
发表于 2006-02-28 09:51 |只看该作者

我现在也想在程序里实现这个功能

我现在也想在程序里实现这个功能,即整点调用某个函数,在坛子里找了一圈,还是不很明了

论坛徽章:
0
6 [报告]
发表于 2006-02-28 11:20 |只看该作者
我的方法,不知道正确否
取当前时间的小时h1,分钟,m1,秒,s1;
然后用3600-60*m1-s1=t1;
然后alarm
扑捉信号就OK了,并在其中alarm;时间是一个小时。

如果只要在特定的某个点,类似

论坛徽章:
0
7 [报告]
发表于 2006-02-28 17:21 |只看该作者
ALARM不是很准确吧,还得处理一些信号,用SELECT应该可以吧,利用它的超时参数

论坛徽章:
0
8 [报告]
发表于 2006-02-28 18:44 |只看该作者
1.alarm定时发一个SIGALRM信号,用signal扑捉处理调用你想用的函数;
2.单独线程自己实现;
3.把想执行的函数单独做成一个进程,用系统的cron实现

论坛徽章:
0
9 [报告]
发表于 2006-03-02 00:42 |只看该作者

回复 3楼 musg2000 的帖子

如果主程序是定期循环的,可以取时间系统时间,然后判断是否是12点;如果主程序不是定期循环的,则使用信号实现。但是还是得取系统时间判断。

论坛徽章:
0
10 [报告]
发表于 2006-03-02 08:59 |只看该作者
原帖由 linternt 于 2006-2-28 17:21 发表
ALARM不是很准确吧,还得处理一些信号,用SELECT应该可以吧,利用它的超时参数

这个我很支持,精确度非常高。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP