Sto cercando di ottenere un elenco di tutti i nomi dei processi, CPU, utilizzo Mem e utilizzo Mem Mem. Speravo di poter usare i tipi. ma sono felice di sentire altre opzioni. Grazie per il tuo tempo.Python - ottiene i nomi dei processi, CPU, utilizzo Mem e utilizzo Picco Mem in windows
risposta
È possibile utilizzare psutil
.
Ad esempio, per ottenere l'elenco dei nomi di processo:
process_names = [proc.name() for proc in psutil.process_iter()]
Per informazioni circa l'uso della CPU psutil.cpu_percent
o psutil.cpu_times
. Per informazioni sull'uso della memoria, utilizzare psutil.virtual_memory
.
Si noti che psutil funziona con Linux, OS X, Windows, Solaris e FreeBSD e con Python 2.4 tramite 3.3.
è possibile ottenere statistiche di rete ** per processo **? Ho cercato su Google e leggere i documenti per circa un'ora, non ho trovato nulla – chester89
@ chester89 Questo non è correlato a questa domanda. Prova a cercare SO per le domande su psutil sull'utilizzo della rete, dopodiché, se non hai trovato una risposta soddisfacente, per favore vai avanti e fai una nuova domanda riguardo a questo. In ogni caso dovresti controllare ['Process.connections'] (https://pythonhosted.org/psutil/#psutil.Process.connections). – Bakuriu
Come sapere la larghezza di banda che sta utilizzando tramite questo modulo –
Mi piace usare wmic
su Windows. Puoi eseguirlo dalla riga di comando, quindi puoi eseguirlo da Python.
from subprocess import Popen,PIPE
proc = Popen('wmic cpu',stdout=PIPE, stderr=PIPE)
print str(proc.communicate())
Con wmic
è possibile ottenere i processi, CPU e la memoria informazioni facilmente. Basta usare wmic cpu
, wmic process
e wmic memphysical
. Puoi anche filtrare determinati attributi usando wmic <alias> get <attribute>
. E puoi ottenere un elenco di tutti i comandi con wmic /?
. Spero possa aiutare!
è possibile controllare la documentazione ufficiale per WMIC qui: http://technet.microsoft.com/en-us/library/bb742610.aspx
Grazie, sarebbe grandioso, ma dovrà essere eseguito come amministratore, c'è un modo per eseguirlo come amministratore prima di usarlo nella riga di comando? – Daniel
Questo codice Python 3.3 funziona per Windows 7 con UAC fino in fondo.
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")
Non si può fare meglio di [psutil] (http://code.google.com/p/psutil/) – JBernardo
In Windows la soluzione migliore probabilmente sarebbe contatori delle prestazioni. – ren