如何通过PID获取进程状态?

11 投票
2 回答
19096 浏览
提问于 2025-04-16 21:57

如果我知道一个进程的pid(进程标识符),我怎么用Python判断这个进程是不是僵尸进程呢?

2 个回答

14

这里有个简单的小技巧,使用的是 procfs(假设你在用Linux系统):

def procStatus(pid):
    for line in open("/proc/%d/status" % pid).readlines():
        if line.startswith("State:"):
            return line.split(":",1)[1].strip().split(' ')[0]
    return None

这个函数应该能返回 'Z',表示僵尸进程。

18

你可以使用psutil中的status功能:

import psutil
p = psutil.Process(the_pid_you_want)
if p.status() == psutil.STATUS_ZOMBIE:
    ....

撰写回答