从Python检查进程状态
我在一个Linux x86-64系统上运行。通过一个Python(2.6)脚本,我想定期检查一个特定的进程(通过进程ID来识别)是否变成了“僵尸”状态(这意味着在进程表中还有这个进程的记录,但它实际上什么都不做)。另外,知道这个进程消耗了多少CPU资源也很好(类似于'top'命令显示的内容)。
有没有人能给我一些关于如何在Python中实现这些功能的建议?
2 个回答
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()
24
我会使用psutil
库:
import psutil
proc = psutil.Process(pid)
if proc.status() == psutil.STATUS_ZOMBIE:
# Zombie process!