我想获得所有进程名称,CPU,内存使用情况和峰值内存使用情况的列表。 我希望能使用ctypes。 但我很高兴听到任何其他的select。 谢谢你的时间。
你可以使用psutil
。
例如,要获取进程名称的列表:
process_names = [proc.name() for proc in psutil.process_iter()]
有关CPU使用psutil.cpu_percent
或psutil.cpu_times
。 有关内存使用情况的信息,请使用psutil.virtual_memory
。
请注意,psutil适用于Linux,OS X,Windows,Solaris和FreeBSD以及Python 2.4到3.3。
我喜欢在Windows上使用wmic
。 你可以从命令行运行它,所以你可以从Python运行它。
from subprocess import Popen,PIPE proc = Popen('wmic cpu',stdout=PIPE, stderr=PIPE) print str(proc.communicate())
随着wmic
你可以很容易地获得进程,CPU和内存信息。 只要使用wmic cpu
, wmic process
和wmic memphysical
。 您还可以使用wmic <alias> get <attribute>
来过滤某些属性。 你可以用wmic /?
得到所有命令的列表 。 希望有所帮助!
你可以在这里查看WMIC官方文档: http : //technet.microsoft.com/en-us/library/bb742610.aspx
这个Python 3.3代码适用于Windows 7和UAC。
import psutil import time def processcheck(seekitem): plist = psutil.get_process_list() str1=" ".join(str(x) for x in plist) if seekitem in str1: print ("Requested process is running") processcheck("System")