如何通过PID获取进程状态?
如果我知道一个进程的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:
....