Linux——函数alarm

这篇博客例子很好理解http://blog.csdn.net/u010155023/article/details/51984602

做个笔记方便日后复习

       使用alarm函数可以设置一个定时器(闹钟时间),在将来的某个时刻该定时器会超时。当定时器超时时,产生SIGALRM信号。如果忽略或不捕捉此信号,则其默认动作是终止调用alarm函数的进程。

 #include<unistd.h>

unsigned int alarm(unsigned int seconds);返回值为0或之前调用alarm函数设置闹钟时间的余留秒数。

数seconds值是产生信号SIGALRM需要经过的时钟秒数。当这一时刻到达时,信号由内核产生,由于进程调度

的延迟,所以得到控制从而能处理该信号还需要一个时间每个进程只能有一个闹钟时间,如果在调用alarm时,之前已

经为该进程注册的闹钟时间还没有超时,则该闹钟时间的余留值作为本次alarm函数调用的值返回。以前注册的闹钟时间

则被新值代替。如果有以前注册的尚未超过的闹钟时间,而且本次调用的seconds值是0,则取消以前的闹钟时间,上次

调用alarm函数的余值仍作为本次调用的返回值。

虽然SIGALRM的默认动作是终止进程,但是大多数使用闹钟的进程捕捉此信号。如果此时要进程终止,则在之前

它可以执行所需的清理操作,如果我们想捕捉SIGALRM信号,则必须在调用alarm之前安装该信号的处理程序。我们先

调用alarm,然后在我们能够安装SIGALRM处理程序之前已接到该信号,那么进程将终止。




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值