您的位置:首页 > 运维架构 > Linux

信号捕捉函数alarm()和pause()(转)

2014-10-21 00:00 633 查看
摘要: Linux 信号 进程间通信 alarm pause

alarm()也称为闹钟函数,它可以在进程中设置一个定时器,当定时器指定的时间到时,它就向进程发送SIGALARM信号。要注意的是,一个进程只能有一个闹钟时间,如果在调用alarm()之前已设置过闹钟时间,则任何以前的闹钟时间都被新值所代替。

pause()函数用于将调用进程挂起直至捕捉到信号为止。这个函数很常用,通常可以用于判断信号是否已到。

表1列出了alarm()函数的语法要点。

表1 alarm()函数语法要点



以下实例实际上已完成了一个简单的sleep()函数的功能,由于SIGALARM默认的系统动作为终止该进程,因此程序在打印信息前就会被结束了,代码如下:

#include<unistd.h>
#include<stdio.h>

int main()
{
/* 调用alarm定时器函数 */

int ret = alarm(5);
pause();
printf("I have been waken up.\n",ret); /* 此语句不会被执行 */

}

执行结果:

$./alarm_pause
Alarm clock


转载于:信号捕捉函数alarm()和pause()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐