我有一个僵尸进程,正在尝试调查。
在 Linux 上,当某个进程死亡时,它不会立即从内存中全部删除 — 它的进程描述符会保留在内存中(进程描述符只占用很少的内存)。进程的状态变为 EXIT_ZOMBIE,并且进程的父进程会通过 SIGCHLD 信号收到其子进程已死亡的通知。然后,父进程应该执行 wait() 系统调用来读取死亡进程的退出状态和其他信息。这允许父进程从死亡进程中获取信息。调用 wait() 后,僵尸进程将完全从内存中删除。
这通常发生得非常快,所以你不会看到僵尸进程在你的系统上积累。但是,如果父进程没有正确编程并且从不调用 wait(),它的僵尸子进程将一直停留在内存中,直到它们被清理。
来源:https://www.howtogeek.com/119815/htg-explains-what-is-a-zombie-process-on-linux/
每次重启或启动后它都会出现。
andy 1235 0.0 0.0 0 0 ? Z 07:25 0:00 [xbrlapi] <defunct>
进程 ID 为 1235。
有没有办法确定是哪个进程或程序导致了此问题?