日期:2014-05-16  浏览次数:20596 次

linux下C语言有没有定时调用的函数??
    Linux系统下C语言编程,遇到的问题:
    假如现在系统有很多的可执行程序(任务),比如有需要每天跑的,有月初跑的,有月末跑的,我建立一个数据库表,把这些任务名称、要执行的日期、时间等写入到表中。

    另外写一个主控程序去查询数据库表,fork子进程,然后根据任务执行的时间去定时的调起程序(比如用system函数或exec函数族)。

    现在数据库的操作接口都已经写好了,但先在有一个问题是,在任务的执行时间还没到的时候,我的主控程序怎么办?是一直等待(比如sleep)一直查询时间是否到了,总感觉这样太笨了,还是有别的更好方法??
    
    C语言中有没有可以定时的调用某一任务的函数??难道要自己写定时器吗??
[/size]
    
     求助。。。
------解决方案--------------------
引用:
注,这个程序不采用定时任务crontab的前提下,怎么考虑??


只有起一个线程监听了,且只负责监听定点时间任务,
到了某一个时间需要执行某一个任务就开启线程执行了!

------解决方案--------------------
不要因为10秒后工作就sleep(10),可以永远sleep(1),然后每次醒来后检查与10秒到没到,这样程序设计才灵活。