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

一个关于信号处理的问题

    来源: 互联网  发布时间:2016-09-03

    本文导语:  我看书有个这么个问题 void handler(int s) {        signal(SIGINT, handler);//reset handler       //do something } 就是在上面那个重置部分那句是干什么不是很懂, 这个是属于不可靠信号, 小弟是新手,还望高手赐教 ...

我看书有个这么个问题
void handler(int s)
{
       signal(SIGINT, handler);//reset handler
      //do something
}

就是在上面那个重置部分那句是干什么不是很懂,
这个是属于不可靠信号,
小弟是新手,还望高手赐教

|
signal 信号函数只使用一次,所以每次都要重新把信号和处理函数关联起来

|
在比较老的unix系统中会有楼主所说的不可靠信号的出现:信号没出现一次后,该信号的处理方式就会被系统重新设置为默认处理方式,所以才会有楼主代码中对信号处理函数重新关联的必要性。
但是在新的系统中,这种不可靠信号应该是很少出现的(4.2BSD/SVR3/POSIX.1都支持可靠信号)
也就是说楼主所说的对信号处理函数重新关联语句是没有必要的。

|
signal(SIGINT, handler);
当进程收到SIGINT信号时,调用handler函数处理。
SIGINT信号一般是:
程序终止(interrupt)信号, 在用户键入INTR字符(通常是Ctrl-C)时发出,用于通知前台进程组终止进程。

两个这类问题了。

|
用sigaction就没有这个问题了,这是由于不可靠信号造成的。楼主看一下aupe的第10章就有描述

    
 
 

您可能感兴趣的文章:

  • 进入信号处理函数,是不是会自动把进入信号加入信号屏蔽字?还有sigpending
  • 信号处理函数里面用CRT函数可能导致"信号触发-处理"死循环吗?
  • 在执行信号处理程序来一个信号会怎么样?
  • 请高手指教 linux 信号处理问题
  • 关于linux内核中信号处理的问题?(信号处理的时间)
  • linux的信号处理函数中如何访问共享资源
  • 信号处理中的SIGBUS
  • *** 求助!!! 关于(可靠)信号处理的问题 ***
  • 地震信号处理工具包 Seismic ToolKit
  • Linux,aix,windows下可以查询非本进程的信号处理函数吗?
  • 一段关于信号处理的代码看不懂?
  • 请教:多线程模式下的信号处理问题
  • 命名管道是不是一定要配合信号处理
  • linux信号处理程序
  • posix信号处理的一个问题
  • linux 信号及信号处理
  • linux编程中简单的信号处理问题,请教各位,谢谢。
  • 进程处理信号都不陌生,但线程处理信号……,进者有分
  • C++信号处理库 SP++
  • 关于信号处理的问题
  • 为何信号处理没有及时被处理呢?
  • 关于系统信号处理函数signal()的疑问.
  • c++中怎么写sigaction()中的信号处理函数
  • 一个幼稚的信号处理问题
  • 对信号处理函数的迷惑!
  • 数字信号处理算法 Feldspar
  • linux下类的成员函数不可以作为自定义的信号处理函数么?
  • linux 下多线程 每个线程能否使用alarm来处理,信号是否会乱呢?
  • 为什么作了信号处理之后select函数就不能正常工作了?
  • 数学、信号处理、通讯类C++库 IT++
  • linux信号处理问题SIGPIPE
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于Linux下信号处理的一个问题,请大家帮忙看看!
  • 小白请教关于Listen、accept、信号处理函数、waitpid的几个问题
  • 信号处理问题
  • [请教内核高手]内核在何处处理接收到的信号
  • 信号处理函数的问题
  • 信号量处理问题
  • Linux对信号的处理
  • 关于用采用单独的线程对信号进行处理的问题
  • 信号处理中sleep函数失效的问题
  • unix/linux知识 iis7站长之家


  • 站内导航:


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

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

    浙ICP备11055608号-3