码迷,mamicode.com
首页 > 其他好文 > 详细

alarm函数

时间:2020-05-21 23:55:42      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:处理程序   技术   pre   erro   static   har   接下来   code   ror   

这个函数是设置一个定时器,在接下来的某个时刻该定时器会超时,发生超时后,产生SIGALRM信号。

产生信号后,进程的行为分两种情况:

1. 忽略或者不捕获此信号

  终止调用该alarm函数的进程

2. 捕获此信号

  根据信号处理程序采取动作

 

测试代码:

 1 #include <signal.h>
 2 #include <stdio.h>
 3 #include <stdlib.h>
 4 #include <unistd.h>
 5 
 6 #define USE_ALARM
 7 
 8 #ifdef USE_ALARM
 9 static int x;
10 static void sig_alarm(int signo)
11 {
12     printf("alarm! -- %d\n",x++);
13 }
14 #endif
15 
16 int main(int argc,char** argv)
17 {
18     #ifdef USE_ALARM
19     if(signal(SIGALRM,sig_alarm)==SIG_ERR)
20     {
21         printf("error 1\n");
22         exit(1);
23     }
24     #endif
25     alarm(1);
26     while(1)
27     {
28         alarm(1);        
29         pause();
30     }
31     return 0;
32 }

分别不使用宏定义USE_ALARM,执行效果如下:

技术图片

alarm函数

标签:处理程序   技术   pre   erro   static   har   接下来   code   ror   

原文地址:https://www.cnblogs.com/castor-xu/p/12934246.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!