linux C之alarm函数

http://blog.sina.com.cn/s/blog_6a1837e90100uhl3.html

如果不要求很精确的话,用alarm()signal()就够了 unsigned intalarm(unsigned int seconds) 函数说明: alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。

alarm也称为闹钟函数alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。如果参数seconds0,则之前设置的闹钟会被取消,并将剩下的时间返回。要注意的是,一个进程只能有一个闹钟时间,如果在调用alarm之前已设置过闹钟时间,则任何以前的闹钟时间都被新值所代替

所需头文件

#include<unistd.h>

函数原型

unsigned int alarmunsigned int seconds)

函数参数

seconds:指定秒数

函数返回值

成功:如果调用此alarm()前,进程已经设置了闹钟时间,则返回上一个闹钟时间的剩余时间,否则返回0

出错:-1

代码:

#include<unistd.h>

#include<signal.h>

void handler()

{

printf("Hello\n");

signal(SIGALRM,handler); //让内核做好准备,一旦接受到SIGALARM信号,就执行 handler

 alarm(5);

}

 

void main()

{

    int i;

    handler();

    for(i=1;i<21;i++)

    {

        printf("sleep%d ...\n",i);

        sleep(1);

    }

}

      经过测试上面的代码是可以通过的;


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值