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

全部博文(106)

文章存档

2009年(1)

2007年(34)

2006年(71)

我的朋友

分类: C/C++

2006-05-25 21:38:34



#include
#include
#include
#include
#include




int main(void)
{
   sigset_t set,pendset;
   struct sigaction action;
   sigemptyset(&set);   清空信号集先
   sigaddset(&set,SIGTERM);     加入SIGTERM呢个信号
   sigprocmask(SIG_BLOCK,&set,NULL);   将距设为阻塞
   kill(getpid(),SIGTERM); 因为阻塞所以就算用kill发送信号都系无反应架啦
   

   sigpending(&pendset);   查下有咩阻塞信号,装入&pendset里面
   
   if(sigismember(&pendset,SIGTERM))   好啦好啦.看下系米有呢个信号希里面
   {
   
   printf("yes , the SIGTERM is here\n");
   sigemptyset(&action.sa_mask);   清空阻塞信号集
   action.sa_handler=SIG_IGN;   信号涵数处理为ignore(忽略啊哈哈)
   sigaction(SIGTERM,&action,NULL); 启动同signal功能类是的信号涵数
   }

   sigprocmask(SIG_UNBLOCK,&set,NULL);   好了,解除之前的信号阻塞
   exit(EXIT_SUCCESS);
}
阅读(1517) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~