Chinaunix首页 | 论坛 | 博客
  • 博客访问: 323931
  • 博文数量: 106
  • 博客积分: 3081
  • 博客等级: 中校
  • 技术积分: 1090
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-15 14:07
文章分类

全部博文(106)

文章存档

2009年(1)

2007年(34)

2006年(71)

我的朋友

分类: C/C++

2006-05-24 22:10:31



LINUX存在信号呢个概念,当我地触发咩事件果时就内核就会发出一个信号.
具体有咩信号就自己睇书啦


我地可以阻塞某一D既信号. 将阻塞既信号可以保存系信号集里面.
我地可以对信号集查下睇下我地有咩信号阻塞.

#include
#include
#include

void err_quit(char *);

int main(void)
{
  sigset_t newset;
  if((sigemptyset(&newset))<0)   我地呢度系先清空信号集 ,呢个系首先要做架啦
  err_quit("sigemptyset");
 

  if((sigaddset(&newset,SIGCHLD))<0)
  添加一个信号.SIGCHLD(子进程挂起或已死)


  err_quit("sigaddset");

  if(sigismember(&newset,SIGCHLD))
好啦好啦.我地而家呢度就系检查睇下有无SIGCHLD呢个信号了.

  puts("SIGCHLD is in signal mask");
 
  else

  puts("SIGCHLD not in signal mask");
 
  if(sigismember(&newset,SIGTERM))  

睇下信号集里面有无终止进程信号
吾使睇都知道无呢个信号啦.因为我地都无加到入去啊.

  puts("SIGTERM in signal mask");
  else
  puts("SIGTERM not in signal mask");
  exit(EXIT_SUCCESS);

 
}


void err_quit(char *msg)   呢度就系错误处理啦
{
  perror(msg);
  exit(EXIT_FAILURE);
}

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