当前位置: 技术问答>linux和unix
关于signal信号
来源: 互联网 发布时间:2017-01-27
本文导语: 在程序中如果刚开始将一个信号这样处理: signal(SIGPIPE, handler1); 那么当接收到这个信号后就会在handler1中执行, 如果在下面的程序中重新安装这个信号如下: signal(SIGPIPE, handler2); 这样以后接收到的信号会不会通过h...
在程序中如果刚开始将一个信号这样处理:
signal(SIGPIPE, handler1);
那么当接收到这个信号后就会在handler1中执行,
如果在下面的程序中重新安装这个信号如下:
signal(SIGPIPE, handler2);
这样以后接收到的信号会不会通过handler2处理?
也就是说同一个信号可不可以重复安装,如果可以的话
是不是起作用的是最近安装的?
signal(SIGPIPE, handler1);
那么当接收到这个信号后就会在handler1中执行,
如果在下面的程序中重新安装这个信号如下:
signal(SIGPIPE, handler2);
这样以后接收到的信号会不会通过handler2处理?
也就是说同一个信号可不可以重复安装,如果可以的话
是不是起作用的是最近安装的?
|
嗯,可以重新安装,生效的是最近的。
这个可以算是函数使用问题,可以看一下man帮助。
The signal() system call installs a new signal handler for the signal with number signum.
这个可以算是函数使用问题,可以看一下man帮助。
The signal() system call installs a new signal handler for the signal with number signum.
|
signal函数调用成功就会返回之前的处理句柄,
重复安装的话就应该是最近的那个处理了。
重复安装的话就应该是最近的那个处理了。
|
signal函数的返回值为先前的信号处理函数指针
|
当然是取代啊。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。