alarm函数

             alarm(设置信号传送闹钟)

相关函数
signal,sleep
表头文件
#include<unistd.h>
定义函数
unsigned int alarm(unsigned int seconds);
函数说明
alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。如果参数seconds 为0,则之前设置的闹钟会被取消,并将剩下的时间返回。
返回值

返回之前闹钟的剩余秒数,如果之前未设闹钟则返回0。

代码

#include < unistd.h >
#include
< signal.h >
void  handler()  {
printf(
"Hello ");
signal(SIGALRM,handler);让内核做好准备,一旦接受到SIGALARM信号,就执行 handler
alarm(
5);
}
/*这段函数的执行时间不计算在for循环的时间之内*/

main()
{
int i;
handler();
for(i=1;i<21;i++){
printf(
"sleep %d ... ",i);
sleep(
1);
}

}
 

结果:刚开始在main中执行一次,然后每隔5秒执行一次handler()

Hello
sleep 
1  ...
sleep 
2  ...
sleep 
3  ...
sleep 
4  ...
sleep 
5  ...
Hello
sleep 
6  ...
sleep 
7  ...
sleep 
8  ...
sleep 
9  ...
sleep 
10  ...
Hello
sleep 
11  ...
sleep 
12  ...
sleep 
13  ...
sleep 
14  ...
sleep 
15  ...
Hello
sleep 
16  ...
sleep 
17  ...
sleep 
18  ...
sleep 
19  ...
sleep 
20  ...
Hello

来源:http://blog.chinaunix.net/u1/45525/showart_376136.html

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值