unsigned int alarm(unsigned int seconds)
当闹钟到时后会产生SIGALRM,一个进程中只能并仅能设置一个闹钟 ,以最后设置的闹钟为准。
seconds:超时时间(s)
返回值 成功= 0或者 上一个设置闹钟的剩余时间 失败=
作用:用于阻塞函数超时
-
#include "../apue.h"
-
/*
-
[10]ret=0
-
[5]ret=10
-
[3]ret=3
-
闹钟
-
-
*/
-
int main()
-
{
-
int ret;
-
-
ret=alarm(1);
-
printf("[1]ret=%d\n", ret);
-
-
ret=alarm(5);
-
printf("[5]ret=%d\n", ret);
-
-
sleep(2);
-
-
ret=alarm(15);
-
printf("[10]ret=%d\n", ret);
-
while(1)
-
{
-
;
-
}
-
return 0;
-
}
[root@bogon 04_signal]# ./exe
[1]ret=0
[5]ret=1
[10]ret=3
Alarm clock
[root@bogon 04_signal]#
示例
每回返回都是上次设置闹钟剩余的秒数,最后一次打印 5-2=3.
阅读(1332) | 评论(0) | 转发(0) |