Python – 在Windows中获取进程名称,CPU,内存使用情况和峰值内存使用情况

我想获得所有进程名称,CPU,内存使用情况和峰值内存使用情况的列表。 我希望能使用ctypes。 但我很高兴听到任何其他的select。 谢谢你的时间。

你可以使用psutil

例如,要获取进程名称的列表:

 process_names = [proc.name() for proc in psutil.process_iter()] 

有关CPU使用psutil.cpu_percentpsutil.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 cpuwmic processwmic 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")