僵尸进程.md

概述

僵尸进程:在 Unix/Linux 系统中,当一个进程终止时,它的父进程还没有通过调用 wait() 系统调用读取其退出状态,那么这个进程就会成为僵尸进程。僵尸进程本身已经停止运行,但仍然在进程表中占据一个条目,以便父进程能够读取其退出状态。
<defunct>:在 ps 的输出中,<defunct> 表示该进程已经终止,但是它的父进程还没有读取并处理它的退出状态。此时,这个进程处于僵尸状态。
[$program_name]:这表示这个僵尸进程的原始程序名称。[$program_name] 的方括号显示形式通常是系统为了提醒用户这是一个特殊状态(僵尸进程),而不是一个正常的可执行进程。

如何处理僵尸进程

自动清理:一般情况下,僵尸进程会在父进程通过 wait() 函数获取它的退出状态后被清理掉。如果父进程在不久后结束,僵尸进程也会随之被清理。
手动处理:
    终止父进程:如果父进程没有正确处理僵尸进程,可以尝试终止父进程。这样,init 进程(PID 1)会继承这些僵尸进程,并会立即清理它们。
    检查父进程是否卡住:如果有大量僵尸进程,可能意味着其父进程卡住或陷入了某种错误状态。你可能需要调查和解决父进程的问题。

僵尸进程.md
https://abrance.github.io/2024/09/04/mdstorage/domain/linux/僵尸进程/
Author
xiaoy
Posted on
September 4, 2024
Licensed under