Je veux obtenir une liste de tous les noms de processus, CPU, utilisation Mem et utilisation Peak Mem. J'espérais pouvoir utiliser des ctypes. mais je suis heureux d'entendre d'autres options. Merci pour votre temps.
Vous pouvez utiliser psutil
.
Par exemple, pour obtenir la liste des noms de processus:
process_names = [proc.name() for proc in psutil.process_iter()]
Pour plus d'informations sur l'utilisation du processeur psutil.cpu_percent
ou psutil.cpu_times
. Pour plus d'informations sur l'utilisation de la mémoire, utilisez psutil.virtual_memory
.
Notez que psutil fonctionne avec Linux, OS X, Windows, Solaris et FreeBSD et avec python 2.4 à 3.3.
J'aime utiliser wmic
sous Windows. Vous pouvez l'exécuter à partir de la ligne de commande, vous pouvez donc l'exécuter à partir de Python.
from subprocess import Popen,PIPE
proc = Popen('wmic cpu',stdout=PIPE, stderr=PIPE)
print str(proc.communicate())
Avec wmic
, vous pouvez facilement obtenir des informations sur les processus, le processeur et la mémoire. Utilisez simplement wmic cpu
, wmic process
, et wmic memphysical
. Vous pouvez également filtrer certains attributs en utilisant wmic <alias> get <attribute>
. Et vous pouvez obtenir une liste de toutes les commandes avec wmic /?
. J'espère que cela pourra aider!
Vous pouvez consulter la documentation officielle de WMIC ici: http://technet.Microsoft.com/en-us/library/bb742610.aspx
Ce code Python 3.3 fonctionne pour Windows 7 avec UAC jusqu'en bas).
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")