我在Linux x86-64系統上運行。從一個Python(2.6)腳本中,我希望定期檢查一個給定的進程(由pid標識)是否已經變成「停止」/殭屍(這意味着進程表中的入口存在,但進程沒有任何作用)。知道進程消耗了多少CPU也是很好的(類似於'top'命令顯示的那樣)。從Python中檢查進程狀態
有人能給我一些關於如何在Python中獲取這些指針的指針嗎?
我在Linux x86-64系統上運行。從一個Python(2.6)腳本中,我希望定期檢查一個給定的進程(由pid標識)是否已經變成「停止」/殭屍(這意味着進程表中的入口存在,但進程沒有任何作用)。知道進程消耗了多少CPU也是很好的(類似於'top'命令顯示的那樣)。從Python中檢查進程狀態
有人能給我一些關於如何在Python中獲取這些指針的指針嗎?
我會用psutil
library:
import psutil
proc = psutil.Process(pid)
if proc.status() == psutil.STATUS_ZOMBIE:
# Zombie process!
'proc.get_cpu_times()','proc.get_cpu_percent(interval = 1.0)'獲取CPU使用率。 – jfs 2013-03-11 19:37:22
你可以得到如下頂級導致蟒蛇:
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()
假設你在一個擁有它的操作系統上(這是OP) – 2013-03-11 19:02:31
通過subprocess.Popen()運行'ps'命令。每一行都是一個進程,而STAT列中的Z表示你有一個殭屍。 ps有很多參數('man ps'),可以給你很多信息。 – tdelaney 2013-03-11 18:58:59