我想要获取进程名称、CPU使用率、内存使用量和峰值内存使用量的列表。我希望可以使用ctypes,但愿意听取其他选项。感谢您的时间。
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
(https://pythonhosted.org/psutil/#psutil.Process.connections)。 - Bakuriu我喜欢在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。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")
"psutil能不能针对每个进程获取网络统计信息?我谷歌了一个小时,阅读了文档,但没有找到任何相关的信息。
—— chester89"
不要担心chester89,这有我来帮你:
import psutil#God-sent module
for i in range(2):#looping twice given https://psutil.readthedocs.io/en/latest/#psutil.Process.cpu_percent '''Warning the first time this method is called with interval = 0.0 or None it will return a meaningless 0.0 value which you are supposed to ignore.'''
for process0 in psutil.process_iter():#for each process running...
print(process0.name(),process0.cpu_percent())#...print the name and how much of the overall CPU utilization does this process makes up!
print('\n'*20)#again, due to the above comment -> "Warning", only the section after this blank space will have useful values!