【问题标题】:Does a process whose parent has died normally continues execution?父进程已经死亡的进程是否正常继续执行?
【发布时间】:2021-10-16 22:28:09
【问题描述】:

我知道一个父进程已经死亡的子进程变成了僵尸进程,但是当这种情况发生时,它会继续正常执行吗?

到目前为止,我所阅读的内容似乎表明是的,但我还没有找到确认,而我的编程冒险似乎表明并非如此。

【问题讨论】:

    标签: linux process


    【解决方案1】:

    孩子的父母是否已经退出对其是否继续运行没有影响。假设孩子可以访问它需要的资源,它将继续正常运行。

    这在编写守护程序时很重要,因为通常启动的进程会分叉两次,最终作为服务运行的是孙子进程。

    请注意,由于父母退出,孩子最终可能会因某些原因异常退出。例如,如果父级是交互式外壳并且它退出,则终端可能会消失,结果子级可能会收到 SIGHUP。但是,在这种情况下,孩子退出的原因是因为它收到了一个它没有处理的信号,如果它设置了合适的处理程序,它会继续运行。

    【讨论】:

    • 很抱歉,我在手机上用我笨拙的大手指投了反对票,而不是赞成你的答案,现在我无法恢复它。谢谢你的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    • 1970-01-01
    • 2012-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多