我想获取所有进程名称、CPU、Mem Usage 和 Peak Mem Usage 的列表。我希望我可以使用 ctypes。但我很高兴听到任何其他选择。谢谢你的时间。
问问题
59752 次
3 回答
37
您可以使用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。
于 2013-05-02T05:56:24.637 回答
3
我喜欢wmic
在 Windows 上使用。您可以从命令行运行它,因此您可以从 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
于 2013-05-01T21:16:24.543 回答
1
此 Python 3.3 代码一直适用于带有 UAC 的 Windows 7。
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")
于 2013-10-10T16:32:18.737 回答