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

11

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

2个回答

17
您可以使用来自 psutilstatus 功能:
import psutil
p = psutil.Process(the_pid_you_want)
if p.status == psutil.STATUS_ZOMBIE:
    ....

2
在Python 3中,应该使用p.status()。 - Ben2209

15

这是一个快速的hack,使用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'


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接