我在某个地方(忘记在哪里)读到,僵尸进程继续使用流程表条目(具体是流程标识符或PID),并导致资源泄漏。
僵尸进程不使用cpu,内存也不使用它的处理表条目,这是正确的吗?这就是僵尸进程仍然占用的所有资源吗?
使用的资源可以作为删除僵尸进程的理由吗?
是否需要删除僵尸进程?
发布于 2015-05-22 22:30:57
僵尸进程是在没有父进程wait(2)-ing的情况下终止(通常或不正常)的进程。它不会消耗资源(除了PID),因为它已经死了。维基百科对所有这些都有一个很好的解释。
发布于 2015-05-22 22:40:20
系统使用有限数量的PID(我认为是2^16)。如果所有PID槽都被占用,系统将无法创建新进程。这就是你应该小心收获僵尸的原因,特别是如果你的程序创建了很多进程(例如,如果你是一个分叉服务器)。
https://unix.stackexchange.com/questions/205140
复制相似问题