温馨提示×

哪些命令查ubuntu僵尸进程

小樊
37
2026-09-16 09:06:53
栏目: 智能运维

在 Ubuntu(及其他 Linux 发行版)中,查看**僵尸进程(Zombie / defunct 进程)**常用以下命令:


1. 使用 ps 查看僵尸进程

ps aux | grep Z

或更准确地看进程状态为 Z 的:

ps -eo pid,ppid,stat,cmd | awk '$3=="Z"'

解释:

  • STAT 为 Z 表示僵尸进程
  • PPID 是父进程 ID

2. 使用 top / htop

top

在 top 中:

  • 看 S 列是否为 Z
  • 或看任务区是否有 zombie 数量(右上角)

更直观:

htop

(htop 中僵尸进程通常显示为灰色或 Z)


3. 查看系统僵尸进程数量

ps aux | awk '$8=="Z" {print $2}' | wc -l

或:

grep zombies /proc/stat

4. 查找僵尸进程的父进程

ps -eo pid,ppid,stat,cmd | awk '$3=="Z"'

拿到 PPID 后:

ps -p <PPID> -o pid,cmd

5. 使用 pstree 查看

pstree -p | grep defunct

补充说明

  • 僵尸进程不能直接 kill
  • 正确做法:
    • 重启或杀掉其父进程(kill -9 PPID)
    • 或等待父进程回收(wait())

如果你愿意,我可以帮你:

  • 分析某个僵尸进程的成因
  • 写一键排查脚本
  • 说明如何避免僵尸进程

0 踩