gpt4 book ai didi

子进程可以 而父进程不死吗?

转载 作者:太空狗 更新时间:2023-10-29 15:16:45 27 4
gpt4 key购买 nike

kill - does it kill the process right away?

我找到了答案,并为 SIGCHLD 设置了一个信号处理程序,并在该处理程序中引入了 wait。这样,无论何时父进程kill 一个子进程,都会调用此处理程序并调用wait获取 子进程。 - 动机是清除进程表条目。

我仍然看到一些子进程运行了几秒钟,即使它的父进程没有死。 - 这怎么可能

我是通过 ps 看到的。精确地 ps -o user,pid,ppid,command -ax 和 greping 用于父进程、子进程和 defunct。

最佳答案

进程在退出时立即失效(僵尸)(从信号、调用 exit、从 main 返回,等等)。它会一直保持僵尸状态,直到它的父级等待

因此,所有进程在退出时至少会暂时变成僵尸。

如果父进程在调用 wait 之前需要一点时间(因为它正在做其他工作,或者只是因为调度程序还没有给它 CPU 时间),那么你会看到僵尸就一点点。如果父进程从不调用 wait,那么当它最终退出时,init (pid 1) 将收养它的僵尸子进程,并对它们调用 wait .

关于子进程可以 <defunct> 而父进程不死吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8481803/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com