【发布时间】:2021-10-16 22:28:09
【问题描述】:
我知道一个父进程已经死亡的子进程变成了僵尸进程,但是当这种情况发生时,它会继续正常执行吗?
到目前为止,我所阅读的内容似乎表明是的,但我还没有找到确认,而我的编程冒险似乎表明并非如此。
【问题讨论】:
我知道一个父进程已经死亡的子进程变成了僵尸进程,但是当这种情况发生时,它会继续正常执行吗?
到目前为止,我所阅读的内容似乎表明是的,但我还没有找到确认,而我的编程冒险似乎表明并非如此。
【问题讨论】:
孩子的父母是否已经退出对其是否继续运行没有影响。假设孩子可以访问它需要的资源,它将继续正常运行。
这在编写守护程序时很重要,因为通常启动的进程会分叉两次,最终作为服务运行的是孙子进程。
请注意,由于父母退出,孩子最终可能会因某些原因异常退出。例如,如果父级是交互式外壳并且它退出,则终端可能会消失,结果子级可能会收到 SIGHUP。但是,在这种情况下,孩子退出的原因是因为它收到了一个它没有处理的信号,如果它设置了合适的处理程序,它会继续运行。
【讨论】: