Python: obtenga nombres de procesos, CPU, uso de memoria y uso máximo de memoria en Windows

Estoy deseando obtener una lista de todos los nombres de procesos, CPU, Uso de memoria y Uso máximo de memoria. Esperaba poder usar ctypes. Pero estoy feliz de escuchar cualquier otra opción. Gracias por tu tiempo.

Puedes usar psutil .

Por ejemplo, para obtener la lista de nombres de proceso:

 process_names = [proc.name() for proc in psutil.process_iter()] 

Para obtener información sobre la CPU, utilice psutil.cpu_percent o psutil.cpu_times . Para obtener información sobre el uso de la memoria, use psutil.virtual_memory .

Tenga en cuenta que psutil funciona con Linux, OS X, Windows, Solaris y FreeBSD y con python 2.4 a 3.3.

Me gusta usar wmic en Windows. Puede ejecutarlo desde la línea de comandos, así que puede ejecutarlo desde Python.

 from subprocess import Popen,PIPE proc = Popen('wmic cpu',stdout=PIPE, stderr=PIPE) print str(proc.communicate()) 

Con wmic puedes obtener procesos, cpu e información de memoria fácilmente. Simplemente use wmic cpu , wmic process y wmic memphysical . También puede filtrar ciertos atributos usando wmic get . ¿Y puede obtener una lista de todos los comandos con wmic /? . ¡Espero que ayude!

Puede consultar la documentación oficial de WMIC aquí: http://technet.microsoft.com/en-us/library/bb742610.aspx

Este código de Python 3.3 funciona para Windows 7 con UAC hasta el final.

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