函數原型:
int setitimer(int which, const struct itimerval *new_value,struct itimerval *old_value)
函數作用:
可用來實現延時和定時的功能
頭文件:
#include <sys/time.h>
參數詳解
用一把:一個例子
#include "head.h"
#include <unistd.h>
#include <signal.h>
#include <sys/time.h>void handler(int s)
{printf("time out %d\n",s);
}int main()
{key_t key = ftok(".",1);signal(SIGALRM,handler);struct itimerval it;memset(&it ,0x00,sizeof (it));it.it_interval.tv_sec = 1;it.it_value.tv_sec = 1;setitimer(ITIMER_REAL,&it,NULL);for(;;) {printf(".");fflush(stdout);sleep(1);}
}
代碼注釋
signal(SIGALRM,handler);//SIGALRM見另一篇文章//1秒打一個點用來觀看效果
for(;;)
{printf(".");fflush(stdout);sleep(1);
}
更改值觀察效果:
1.
19 it.it_interval.tv_sec = 1;
20 it.it_value.tv_sec = 1;
2.
19 it.it_interval.tv_sec = 3;
20 it.it_value.tv_sec = 1;
3.
19 it.it_interval.tv_sec = 3;
20 it.it_value.tv_sec = 2;