簡體   English   中英

Python - 在 windows 中獲取進程名稱、CPU、內存使用情況和峰值內存使用情況

[英]Python - get process names,CPU,Mem Usage and Peak Mem Usage in windows

我想獲得所有進程名稱、CPU、Mem Usage 和 Peak Mem Usage 的列表。 我希望我可以使用 ctypes。 但我很高興聽到任何其他選擇。 謝謝你的時間。

您可以使用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 /? . 希望有幫助!

您可以在此處查看 WMIC 的官方文檔: http : //technet.microsoft.com/en-us/library/bb742610.aspx

此 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")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM