关于signal信号解决方案

关于signal信号解决方案

关于signal信号
在程序中如果刚开始将一个信号这样处理:
signal(SIGPIPE, handler1);

那么当接收到这个信号后就会在handler1中执行,
如果在下面的程序中重新安装这个信号如下:
signal(SIGPIPE, handler2);
这样以后接收到的信号会不会通过handler2处理?
也就是说同一个信号可不可以重复安装,如果可以的话
是不是起作用的是最近安装的?


当然是取代啊。


signal函数调用成功就会返回之前的处理句柄,
重复安装的话就应该是最近的那个处理了。


signal函数的返回值为先前的信号处理函数指针


嗯,可以重新安装,生效的是最近的。

这个可以算是函数使用问题,可以看一下man帮助。
The signal() system call installs a new signal handler for the signal with number signum.

关于signal信号解决方案

相关文章:

你感兴趣的文章:

标签云: