代码示例_Timer


Timer


1.setitimer.c

#include 
#include 
#include 
#include 
#include 


struct itimerval timer;

void Time_Fun(int temp)
{
    printf("Time_Fun text ok!\n");
}


int main(void)
{
    signal(SIGALRM, Time_Fun);          //信号处理函数
    
    timer.it_value.tv_sec      =0;        //设置定时器后间隔多久开始执行定时任务
    timer.it_value.tv_usec     =1;
    timer.it_interval.tv_sec   =1;        //两次定时任务之间的时间间隔
    timer.it_interval.tv_usec  =0;    
    if( setitimer(ITIMER_REAL,&timer,NULL)<0 ){
        perror("setitimer failed !\n");
        exit(0);
    }

    for(;;){}
    
    return 0;
}

2.alarm.c

#include 
#include 
#include 


void Time_Fun(int temp)
{
    printf("Time_Fun text ok!\n");
    alarm(1);   //覆盖前一个
}


int main(void)
{
    signal(SIGALRM, Time_Fun); //信号处理函数
    alarm(1);
    
    for(;;){}
    
    return 0;
}

3.sleep.c

#include 
#include 
#include 
#include <string.h>


void Time_Fun(int temp)
{
    printf("Time_Fun text ok!\n");
}


int main(void)
{
    signal(SIGALRM, Time_Fun);    //信号处理函数
    for(;;){
        kill(getpid(),SIGALRM);      //信号发送函数
        sleep(1);
    }
    
    return 0;
}