struct itimerval *new_value,其定义如下:
struct itimerval {
struct timeval it_interval; /*next value*/
struct timeval it_value;/*current value*/
};
struct timeval {
long tv_sec;/*seconds*/
lonng tv_usec/*microseconds*/
};;
该结构体要配合函数setitimer使用。函数原型为
int setitimer(int which, const struct itimerval *new_value,struct itimerval *old_value);
其中which参数表示类型,可选的值有:
ITIMER_REAL:以系统真实的时间来计算,它送出SIGALRM信号。
ITIMER_VIRTUAL:以该进程在用户态下花费的时间来计算,它送出SIGVTALRM信号。
ITIMER_PROF :以该进程在用户态下和内核态下所费的时间来计算,它送出SIGPROF信号。
old_value的值一般为NULL。
settimer工作机制是,先对it_value倒计时,当it_value为零时触发信号,然后重置为it_interval,继续对it_value倒计时,一直这样循环下去。
版权声明:本文为u012023532原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。