当前位置:  技术问答>linux和unix

很简单的问题:关于信号集的操作!

    来源: 互联网  发布时间:2015-03-18

    本文导语:  后面这个程序想实现每隔8秒查询是否有收到SIGUSR1信号并执行信号处理函数,结果 kill -sigusr1 xx 后只输出 catch "SIGUSR1",没有执行myhandler; 而且用kill发一次信号后,后面的循环中一直输出 catch "SIGUSR1",难道收到的...

后面这个程序想实现每隔8秒查询是否有收到SIGUSR1信号并执行信号处理函数,结果
kill -sigusr1 xx 后只输出 catch "SIGUSR1",没有执行myhandler;
而且用kill发一次信号后,后面的循环中一直输出 catch "SIGUSR1",难道收到的信号不会删除的吗,那要是

以后有同一个信号怎么办?
期盼大侠指点!

#include "signal.h"
#include "stdio.h"
#include "sys/types.h"
#include "unistd.h"

void myhandler()
{
printf("~~~~~~HeHe!~~~~~~n");
return;
}

int main()
{
sigset_t nset,oset,pendset;

signal(SIGUSR1,myhandler);
while(1)
{
sigemptyset(&nset);
sigemptyset(&oset);
sigemptyset(&pendset);

sigaddset(&nset,SIGUSR1); 
if(sigismember(&nset,SIGUSR1))
{
printf(""SIGUSR1" is blocked!n");
}
else
        {
printf(""SIGUSR1" block errorn");
exit(0);
}

sigprocmask(SIG_SETMASK,&nset,&oset); 
sleep(8);
sigpending(&pendset);
if(sigismember(&pendset,SIGUSR1))
{ sigprocmask(SIG_SETMASK,&oset,&nset);
printf("catch "SIGUSR1" n");
/*pause();*/
}
}
}

|
你用sigaction是没有问题的

|
最好把你的注释也写上,让我们知道你的程序哪里是想作哪些功能的,还有这个程序的出错处理太少了,很多的地方应该加上出错处理!

    
 
 

您可能感兴趣的文章:

  • 生产者消费者问题为什么不可以共用一个信号量,如果这个信号量可以设置取值固定为0到N,即当信号量取值为N的时候阻塞进程,是否也可以?
  • 关于消息队列信号量信号共享内存等核心编程的问题(求知若渴!!!.....)
  • 可靠信号和不可靠信号的问题
  • 信号屏蔽问题(屏蔽不了信号)
  • 多个进程共用一个信号量,如果某个进程死掉,此时又将信号量锁定,其它进程就死掉,有什么办法可以解决这一问题
  • 守护进程的信号问题(UNIX环境高级编程 中的问题)
  • APUE中“信号”一节的问题
  • 信号与线程的问题
  • 求助一些关于信号量的问题
  • 请高手指教 linux 信号处理问题
  • 关于信号量的问题
  • 信号集问题
  • 一个关于信号的问题???
  • 一个关于信号处理的问题
  • linux中 关于 进程和信号的问题
  • 信号量的问题
  • 有关信号的几个问题
  • 关于linux内核中信号处理的问题?(信号处理的时间)
  • 有关信号传递问题
  • unix的信号问题
  • 基于linux操作系统之上操作LCD问题,急???
  • java执行操作系统命令的问题:如何判断多个操作系统?
  • 操作系统中PV操作的问题
  • 在linux操作系统上向ftp服务器(linux系统)上上传文件,我要纪录操作日志,得到上传到ftp服务器上的文件的路径问题?
  • 问题:在新的操作系统,如Linux中加入现有操作系统的APIs的支持/兼容层算不算侵犯版权?
  • 关于操作系统内部的问题,高手指点
  • pv原语操作的一个问题,望大家解答
  • 关于UNIX文件I/O操作的问题,解决问题立即结贴
  • NOVELL 4.X操作系统的问题
  • 要实现同样的一个问题,例如数据库的查询操作,并将结果返回到页面中,在Servlet与JavaBean中都可以写相同的数据库查询操作的代码,那么
  • 操作系统的以“位”分类问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 简单问题简单问题简单问题简单问题
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 小问题,急问题,重大问题!!!
  • sharepoint 2010中item.Update()和item.SystemUpdate 修改数据版本问题解决
  • 弱弱的一问,linux下的中文问题及网络问题,分不是问题
  • 八个问题帮你快速了解Docker
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
  • 网页的编码问题!或者java的编码问题,由此引出一条解决中文问题的思路
  • nginx Windows版相关问题及使用说明
  • 死锁的问题 多级锁定问题 循环锁定问题
  • vs2010下禁用vmware的方法以及解决vmware插件导致vs2010变慢的问题
  • [问题]双系统出现的问题!求问题的原因和解决办法!
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • 初学者问题。一个是编译hello world的问题,一个是配置ssh的问题
  • c/c++服务器程序内存泄露问题分析及解决
  • C程序问题:哪个高手帮我解释下下面的问题,主要是a[0]和&[0] 的区别 和编译器的问题??
  • ​部署 Docker 前必须问自己的四个问题
  • swing的问题还是jbuiler的问题??
  • spring的事务类型及spring和hibernate可能导致的问题分析
  • 菜鸟第一次安装红帽子7.2的一箩筐问题。每个问题会开个帖子,各放100分!请有安装经验的老鸟们帮忙解决。第二个问题:什么是LILO?怎么样


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3