僵尸进程:死了,但还没走
某天执行 ps aux,列表里多出几行奇怪的记录:STAT 一栏是 Z,COMMAND 后面跟着 <defunct>。这些进程不占 CPU,也不怎么占内存,但 kill -9 对它们毫无作用,数量还会慢慢变多。这就是僵尸进程。
它并不神秘,本质上只是一个“已经退出、但还没被回收”的进程留下的空壳。理解它,需要先理解 Linux 里一个进程是怎么死的。
先看看它长什么样
1$ ps -eo pid,ppid,stat,comm | awk '$3 ~ /^Z/'