设想如下情况:现有进程A,fork产生子进程B,子进程B调用exit(0),这时B会向父进程A发送SIGCHLD信号,父进程A选择忽略掉这个信号,进程B变为僵死进程。那么如果此时A正常结束了,B就应该会转交成为init进程的子进程,此时会发生什么?B会不会重新发送SIGCHLD信号给init呢?如果不会的话,B最后将如何结束?
1 回答
绝地无双
TA贡献1946条经验 获得超4个赞
B 不会再发送任何信号,这种僵尸进程最终被 init 进程(pid=1)自动回收。
请参考
When a process loses its parent, init becomes its new parent. init periodically executes the wait system call to reap any zombies with init as parent.
https://en.wikipedia.org/wiki...
- 1 回答
- 0 关注
- 630 浏览
添加回答
举报
0/150
提交
取消