当前位置: 技术问答>linux和unix
请问Linux下如何使用定时器?
来源: 互联网 发布时间:2015-09-20
本文导语: 请问Linux下如何使用定时器? 想实现一个定时查询I/O端口的程序,谢谢 | 处理过程其实就是安装一个SIGALRM的信号处理函数。 1.#include 2.调用setitimer安装定时器: 它有三个参数第一个设ITIMER_REA...
请问Linux下如何使用定时器?
想实现一个定时查询I/O端口的程序,谢谢
想实现一个定时查询I/O端口的程序,谢谢
|
处理过程其实就是安装一个SIGALRM的信号处理函数。
1.#include
2.调用setitimer安装定时器:
它有三个参数第一个设ITIMER_REAL,第二和三个参数是新的时钟间隔和之前设置的时钟间隔。
struct itimerval {
struct timeval it_interval; //设为时钟间隔 ,既it_interval.tv_sec=0;it_interval.tv_usec=40*1000; tv_usec是微秒
struct timeval it_value; //设为第一次触发的时钟间隔,其实只被执行一次,以后按照it_interval的值,这里你也可以同上设。
}
定时器会不断发出SIGALRM信号,
3.调用sigaction安装SIGALRM的处理函数,这个就相当于时钟处理函数,我就不细说了。
1.#include
2.调用setitimer安装定时器:
它有三个参数第一个设ITIMER_REAL,第二和三个参数是新的时钟间隔和之前设置的时钟间隔。
struct itimerval {
struct timeval it_interval; //设为时钟间隔 ,既it_interval.tv_sec=0;it_interval.tv_usec=40*1000; tv_usec是微秒
struct timeval it_value; //设为第一次触发的时钟间隔,其实只被执行一次,以后按照it_interval的值,这里你也可以同上设。
}
定时器会不断发出SIGALRM信号,
3.调用sigaction安装SIGALRM的处理函数,这个就相当于时钟处理函数,我就不细说了。
|
Qt库里面有个QTimer类~
|
用signal和alarm函数实现。具体参考《unix环境高级编程》