定时函数setitimer()
来源:互联网 发布:阿里云服务器 域名 编辑:程序博客网 时间:2024/06/05 08:10
定时函数setitimer()
2012-08-25 01:24:43| 分类:linux | 标签:时间 |字号大中小订阅
//struct itimerval
//{
// struct timeval it_interval; /* 下次定时取值 */
// struct timeval it_value; /* 本次定时设置值 */
//};
//struct timeval
//{
// long tv_sec; /* 秒(1000000微秒) */
// long tv_usec; /* 微妙 */
//}
//which的值
//这三种定时器定时完成时给进程发送的信号各不相同,
//ITIMER_REAL类定时器发送SIGALRM信号,
//ITIMER_VIRT类定时器发送SIGVTALRM信号,
//ITIMER_PROF类定时器发送SIGPROF信号。
//itimerval结构中的it_value是代表首次定时的时间,
//而it_interval代表下一次定时的时间,执行完第一次之后,
//it_interval中的时间会赋值给it_value,周而复始。
//如果it_value值被设置为0,则定时器停止定时;
//如果it_value值不为0但it_interval值为0,则定时器在一次定时后终止。
//setitimer执行成功返回0,否则返回-1
//参数ovalue
//该参数可以使用空值NULL,如果不为空的话,返回的是上一个时刻的定时器状态。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
#include <time.h>
#include <sys/time.h>
int setitimer(int which, const struct itimerval *value, struct itimerval *ovalue);
int n=0;
void doAction(int sig)//你要做的事情
{
printf("do like this %d\n",n++);
}
void setMyTimer(int val)
{
struct itimerval value;
value.it_value.tv_sec=val;
value.it_value.tv_usec=0;
value.it_interval.tv_sec=val; //val秒
value.it_interval.tv_usec=0;
signal(SIGALRM, doAction);
int tm = setitimer(ITIMER_REAL,&value,NULL);
printf("tm: %d\n",tm);
while(1) {
getchar();
}
}
int main( int argc, char **argv )
{
int val;
scanf("%d",&val);
setMyTimer(val);
return 0;
}
- setitimer() 定时函数
- setitimer() 定时函数
- setitimer定时函数
- 定时函数setitimer()
- 定时函数setitimer
- Linux下定时函数setitimer
- Linux下定时函数setitimer
- Linux下定时函数setitimer
- setitimer函数
- setitimer函数
- setitimer函数
- linux上定时函数 setitimer 的使用介绍
- linux上定时函数 setitimer 的使用介绍
- 如何使用setitimer来定时
- setitimer函数--signal
- linux 中的setitimer()函数
- Linux定时器函数setitimer
- linux中定时信号setitimer和alarm
- Unknown symbol
- php解码escape
- 常用MPI 的进程绑定方法
- wtai
- 表情预览中,判断鼠标何时离开窗口
- 定时函数setitimer()
- 腾讯web前端框架JX
- jQuery 之路重走(1) jQuery的基本了解
- PLSQL创建表序列
- 从红帽官网下载redhat企业版系统镜像
- 串口基础-查找可以使用的串口-C#窗口应用程序
- acrobat无法在本页面上执行ocr识别,因为:本页面包含可渲染的文本
- php.ini 配置选项列表
- Siverlight(包含WCF或Webservice)应用程序发布