您的位置:首页 > 其它

alarm()函数

2014-07-31 15:05 232 查看
先看一个例程:

#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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: