alarm()函数

来源:互联网 发布:hadoop排序算法 编辑:程序博客网 时间:2024/06/04 19:55

先看一个例程:

#include <stdlib.h>#include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <sys/wait.h>void sig_alarm(int sig){    printf("here.\r\n");}int main(int argc, char *argv[]){    int tm_remain = 0;int i;signal(SIGALRM, sig_alarm);alarm(120);for (i = 0; i < 5; i ++) {printf("sleeping...\r\n");sleep(1);}tm_remain = alarm(20);printf("tm remain: %d\r\n", tm_remain);    while(1){        sleep(4);    }    return (0);}
alarm()的函数原型如下:
#include <unistd.h>unsigned int alarm(unsigned int  secs);

理解了上述介绍,对于测试例程的结果,便很好明白:
$ ./a.out 
sleeping...
sleeping...
sleeping...
sleeping...
sleeping...
tm remain: 115
here.

0 0
原创粉丝点击