Chinaunix首页 | 论坛 | 博客
  • 博客访问: 702247
  • 博文数量: 152
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1793
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-12 12:26
个人简介

相信自己,只有不想做的,没有做不到的。

文章分类

全部博文(152)

文章存档

2021年(1)

2015年(2)

2014年(74)

2013年(75)

分类: LINUX

2013-12-16 22:00:56

alarm定时器,SIGALRM杀死进程
pause() 讲条用着挂起,等待信号到来位置。防止pause()信号杀死,
要用捕捉信号来接受信号,pause()等待用户发信号触发pause()'

#include
#include
#include
#include

int count = 0;

void handler_signal(int signum)
{
 if(count >= 3)
 {
  printf("Game over.\n");
  exit(EXIT_SUCCESS);
 }

 count ++;
 printf("Timeout %d.\n",count);
 
 alarm(3);
}

int main(int argc, const char *argv[])
{
 char buf[1024];

 if(signal(SIGALRM,handler_signal) == SIG_ERR)
 {
  perror("Fail to signal");
  exit(EXIT_FAILURE);
 }
 
 alarm(3);

 while(1)
 {
  fgets(buf,sizeof(buf),stdin);
  buf[strlen(buf) - 1] = '\0';

  printf("buf : %s.\n",buf);
  alarm(3);
  count = 0;
 }
 
 exit(EXIT_SUCCESS);
}

阅读(1145) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~