当前位置: 技术问答>linux和unix
有关信号传递问题
来源: 互联网 发布时间:2016-04-06
本文导语: 我在终端启动一个程序,这个程序里包括父子两个进程,然后我在终端敲入ctrl+c以产生SIGINT信号, 我发现,当父进程未退出时,父子进程均可以收到这个信号,而当父进程退出后,再敲入ctrl+c子进程并不能收到这个...
我在终端启动一个程序,这个程序里包括父子两个进程,然后我在终端敲入ctrl+c以产生SIGINT信号, 我发现,当父进程未退出时,父子进程均可以收到这个信号,而当父进程退出后,再敲入ctrl+c子进程并不能收到这个信号。请问背后的原理是什么?thanks in advance.
|
有无控制终端的区别。
|
1. 按下ctrl+c时,中断信号会送至前台进程组的所有进程.
2. 父进程如果退出,子进程所在进程组成为孤儿进程组,并变为后台进程组
具体可参考
第9章.进程关系
2. 父进程如果退出,子进程所在进程组成为孤儿进程组,并变为后台进程组
具体可参考
第9章.进程关系
|
说的很清楚。。
|
应该就是问题所在.
呵呵