在Linux上共享vs继承信号处理程序

时间:2014-04-20 11:01:52

标签: linux

vfork手册页说"信号处理程序是继承的,但不是共享的。"

突然间,我对共享信号处理程序的含义以及继承信号处理程序的含义有很多困惑。

我所知道的是,当我们通过fork()创建一个新进程时,子进程安装了相同的信号处理程序,直到子进程为某些信号指定了自己的处理程序或者没有调用exec()。在线程的情况下,因为进程保持不变,并且信号被发送到进程,所以它是整个接收信号的进程(尽管我没有明确确定多线程进程会发生什么)。 / p>

但我仍然想了解共享信号处理程序与继承信号处理程序之间的区别

1 个答案:

答案 0 :(得分:0)

信号处理程序是继承的。

这意味着孩子们继承了与父母一样的处理程序。

不共享信号处理程序。

调用父母的处理程序与调用子级处理程序不同。正如手册页所说,信号在>传递给孩子之后传递给父母:因此不同的电话。