如何使用pid获取进程状态?

时间:2011-07-20 19:53:35

标签: python

如果我知道进程的pid,我如何判断进程是否是使用Python的僵尸?

2 个答案:

答案 0 :(得分:13)

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

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

答案 1 :(得分:12)

这是使用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'