为什么linux下sshd被kill会导致所有子进程被终止
天上游的鱼 2011-04-02 11:33:07 问题描述:
使用securecrt远程登陆,打开两个终端,在其中一个(终端A)运行测试程序a.out;在另一个(终端B)中使用pstree可以看到
|-sshd(2555)-+-sshd(16568)---bash(16572)---pstree(16862)
| `-sshd(16635)---bash(16637)---a.out(16860)---a.out(16861)
如果在终端B中运行 kill -9 16635 后,则标红的这些进程全会终止掉
请教各方高人,这是为何?
PS: 粗略看了一下sshd的实现代码,和sshd自身应该没什么关系,父进程自己都挂了怎么会来得及处理子进程
莫非在kill -9 16635的时候,内核会检测将要结束的进程是sshd,然后干掉他的子进程?
费解啊!费解