unsigned int alarm(unsigned int seconds)
头文件:
#include<unistd.h>
功能:
安排内核在指定的秒数后向调用进程发送 SIGALRM 信号
参数:
seconds
指定了从调用时刻开始经过多少秒后触发该信返回值:
函数的返回值是之前设置的闹钟剩余的秒数,如果没有设置过闹钟,则返回0
注意:
1.一个进程只能有一个闹钟时间。如果在调用alarm时已设置过闹钟时间,则之前的闹钟时间被新值所代替
2.当时间到达设定的秒数时,系统会生成一个 SIGALRM 信号,该信号默认行为是终止进程。
需要注意的是,由于进程调度的延迟,进程实际接收到该信号的时间可能会有延迟。
3.在单线程程序中是允许的,但在多线程程序中并不适用
cs
#include<stdio.h>
#include<signal.h>
#include<unistd.h>
int main
{
int n=alarm(3);
printf("first alarm:%d\n",n);
sleep(1);
n=alarm(5);
printf("%d\n",n);
while(1);
return 0;
}