Linux下定时函数setitimer
来源:互联网 发布:明石家秋刀鱼 知乎 编辑:程序博客网 时间:2024/05/16 06:20
http://blog.csdn.net/water_cow/article/details/7519436
简介
setitimer( )是由Linux提供的一个非标准C库函数,它提供时间精度较高的定时功能。
setitimer( )函数功能介绍:
setitimer( )函数原型:
int setitimer(int which, const struct itimerval *value, struct itimerval *ovalue);
参数说明:
int which:定时器类型,setitimer支持3种定时器类型:
ITIMER_REAL:以系统实际时间计算,定时结束时发送SIGALRM信号。
ITIMER_VIRTUAL:定时进程在用户态下的实际执行时间,定时结束时发送
SIGVTALROF信号。
ITIMER_PROF:定时进程在用户态和内核态下的实际执行时间,定时结束
时发送SIGPORF信号。
struct itimerval *value:定时结构体,配置初次定时时间与间隔定时时间。
itimerval结构体原型:
- struct itimerval{
- struct timeval it_interval;
- struct timeval it_value;
- };
timeval结构体原型:
- struct timeval{
- time_t tv_sec; /*秒*/
- suseconds_t tv_usec; /*微妙*/
- };
it_interval指定间隔时间,it_value指定初始定时时间。初始定时超时后,系统会自动以it_interval初始化it_value。
Struct itmierval *ovalue:保存先前的定时值,通常置NULL。
setitimer( )调用成功则返回0,否则返回-1。
setitimer( )函数简单用例:
- #include <stdlib.h>
- #include <stdio.h>
- #include <unistd.h>
- #include <signal.h>
- #include <time.h>
- #include <sys/time.h>
- #define COUNT_SEC 10
- #define COUNT_USEC 0
- /*Initialize timer*/
- static void Init_timer(struct itimerval *tick)
- {
- int ret;
- memset(tick, 0, sizeof(struct itimerval));
- /*initialize it_value*/
- tick->it_value.tv_sec = COUNT_SEC;
- tick->it_value.tv_usec = COUNT_USEC;
- /*initialize it_interval*/
- tick->it_interval.tv_sec = COUNT_SEC;
- tick->it_interval.tv_usec = COUNT_USEC;
- return;
- }
- /*Callback function when time's up*/
- static void Timeout_callback(int sig)
- {
- printf("timeout callback function\n");
- return;
- }
- int main(void)
- {
- int ret = 0;
- struct itimerval tick;
- signal(SIGALRM, Timeout_callback);
- Init_timer(&tick);
- ret = setitimer(TIMER_REAL, &tick, NULL);
- if(ret < 0)
- {
- printf("setitimer failed!\n");
- return -1;
- }
- while(1);
- return 0;
- }
- Linux下定时函数setitimer
- Linux下定时函数setitimer
- Linux下定时函数setitimer
- linux下定时器函数 setitimer()
- setitimer() 定时函数
- setitimer() 定时函数
- setitimer定时函数
- 定时函数setitimer()
- 定时函数setitimer
- Linux 下setitimer函数的使用
- linux下的定时器函数setitimer()
- Linux 下setitimer函数的使用
- Linux应用层下定时器函数setitimer
- Linux 下setitimer函数的使用
- linux上定时函数 setitimer 的使用介绍
- linux上定时函数 setitimer 的使用介绍
- linux 中的setitimer()函数
- Linux定时器函数setitimer
- 数据库 主键与索引键的区别
- 数组名传参问题
- 转换到 COFF 期间失败: 文件无效或损坏
- 格式化数字(123456789-->123,456,789)
- Mac OS系统版本与XCode版本的关系
- Linux下定时函数setitimer
- 完全对象化的弯路
- Linux系统监控工具之vmstat详解
- java中数组与List相互转换的方法 .
- Unix commands
- UVA 11806 Cheerleaders
- 位域的使用
- POJ 3468 线段树 区间更新区间查询
- java中split的使用