abl*_*lmf 22 linux signals kill process
我的一位同事今天早上告诉我,当他以"杀死-9" 杀死监督时,监督的子过程没有被杀死.
他对此非常肯定,但我多次尝试并没有发现这种情况.
因此当父进程被"kill -9"杀死时,linux会确保它的子进程也被杀死了吗?
caf*_*caf 23
不,当父母被杀时,子进程不一定被杀死.
但是,如果子进程正在写入并且父进程正在读取,则当下一次尝试写入管道时,它将获得一个SIGPIPE,默认操作是将其删除.这通常是在实践中发生的事情.
drA*_*erT 17
你必须使子进程守护进程,以便在父亲被杀死(或死亡)时杀死它们,否则它们被init(1)采用.
小智 8
在UNIX上,父进程和子进程的生命周期之间没有强制关系.严格地说,进程只有在调用exit()或接收未处理的信号时才会终止,默认操作将终止.
但是,当用户点击该终端上的ctrl-C,ctrl- \等时, "控制终端"中的整个"前台进程组"可以接收SIGINT和SIGQUIT等信号.具体行为部分由登录shell实现(在tty驱动程序的帮助下).细节可能相当复杂:看这里和这里
归档时间:
16 年,1 月 前
查看次数:
19591 次
最近记录:
8 年,7 月 前