Я хочу получить список всех имен процессов, процессора, использования памяти и использования пикового ввода. Я надеялся, что смогу использовать ctypes. но я рад услышать любые другие варианты. Спасибо за ваше время.
Python - получить имена процессов, процессор, использование Mem и использование пикового ввода в окнах
Ответ 1
Вы можете использовать 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.
Ответ 2
Мне нравится использовать wmic
в Windows. Вы можете запустить его из командной строки, чтобы вы могли запускать его из Python.
from subprocess import Popen,PIPE
proc = Popen('wmic cpu',stdout=PIPE, stderr=PIPE)
print str(proc.communicate())
С wmic
вы можете легко получить процессы, информацию о процессоре и памяти. Просто используйте wmic cpu
, wmic process
и wmic memphysical
. Вы также можете отфильтровать определенные атрибуты, используя wmic <alias> get <attribute>
. И вы можете получить список всех команд с помощью wmic /?
. Надеюсь, что это поможет!
Вы можете проверить официальную документацию для WMIC здесь: http://technet.microsoft.com/en-us/library/bb742610.aspx
Ответ 3
Этот код 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")