【发布时间】:2013-04-25 22:41:46
【问题描述】:
我想获取所有进程名称、CPU、内存使用率和峰值内存使用率的列表。我希望我可以使用 ctypes。但我很高兴听到任何其他选择。感谢您的宝贵时间。
【问题讨论】:
-
你不能比psutil做得更好
-
在 Windows 中,您最好的选择可能是性能计数器。
标签: python windows memory process cpu
我想获取所有进程名称、CPU、内存使用率和峰值内存使用率的列表。我希望我可以使用 ctypes。但我很高兴听到任何其他选择。感谢您的宝贵时间。
【问题讨论】:
标签: python windows memory process cpu
您可以使用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。
【讨论】:
Process.connections。
此 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")
【讨论】:
我喜欢在 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
【讨论】: