我在Linux x86-64系统上运行。从Python(2.6)脚本,我希望定期检查给定的进程(由pid标识)是否已成为“defunct”/ zombie(这意味着进程表中的条目存在但进程无效)。知道进程消耗多少CPU也是一件好事(类似于'top'命令所显示的)。
有人可以给我一些关于如何在Python中获取这些内容的指示吗?
答案 0 :(得分:16)
我使用psutil
library:
import psutil
proc = psutil.Process(pid)
if proc.status() == psutil.STATUS_ZOMBIE:
# Zombie process!
答案 1 :(得分:3)
您可以在python中获得最佳结果,如下所示:
linux
:
import sys, os
f = os.popen("top -p 1 -n 1", "r")
text = f.read()
print text
更新
windows
:
from os import popen
from sys import stdin
ps = popen("C:/WINDOWS/system32/tasklist.exe","r")
pp = ps.readlines()
ps.close()
# wow, look at the robust parser!
pp.pop(0) # blank line
ph = pp.pop(0) # header line
pp.pop(0) # ===
print ("%d processes reported." % len(pp))
print ("First process in list:")
print (pp[0])
stdin.readline()