僵死进程被init接受后会如何表现?

设想如下情况:现有进程A,fork产生子进程B,子进程B调用exit(0),这时B会向父进程A发送SIGCHLD信号,父进程A选择忽略掉这个信号,进程B变为僵死进程。

那么如果此时A正常结束了,B就应该会转交成为init进程的子进程,此时会发生什么?B会不会重新发送SIGCHLD信号给init呢?如果不会的话,B最后将如何结束?


慕田峪7331174
浏览 593回答 1
1回答

绝地无双

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...
打开App,查看更多内容
随时随地看视频慕课网APP