Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1531320
  • 博文数量: 329
  • 博客积分: 2773
  • 博客等级: 少校
  • 技术积分: 4219
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-24 14:17
个人简介

淡定从容,宁静致远

文章分类

全部博文(329)

文章存档

2016年(4)

2015年(50)

2014年(68)

2013年(45)

2012年(162)

分类: LINUX

2013-01-27 11:11:05

#include

#include

void handler(int signo, siginfo_t *info, void *unuse)
{
      printf("Catch a signal: %d\n", signo); /* fixme */
      printf("pid: %d, val: %d\n", info->si_pid, info->si_int);
}

int main(void)
{
      int i;
      struct sigaction act;

      act.sa_sigaction = handler;
      sigemptyset(&act.sa_mask);
      sigaddset(&act.sa_mask, SIGINT);
      sigaddset(&act.sa_mask, SIGQUIT);
      act.sa_flags = SA_RESTART | SA_SIGINFO;

      sigaction(SIGINT, &act, NULL);
      //signal(SIGINT, handler);
      //sigaction(SIGQUIT, &act, NULL);
      //signal(SIGQUIT, handler);

      for (i = 0; ; i++) {
     sleep(1);
     printf("i = %d\n", i);
      }

      return 0;
}

阅读(879) | 评论(0) | 转发(0) |
0

上一篇:simple_signal

下一篇:sigqueue

给主人留下些什么吧!~~