I am wanting to get a list of all the process names, CPU, Mem Usage and Peak Mem Usage. I was hoping I could use ctypes. but I am happy to hear any other options. Thanks for your time.
You can use psutil
.
For example, to obtain the list of process names:
process_names = [proc.name() for proc in psutil.process_iter()]
For info about the CPU use psutil.cpu_percent
or psutil.cpu_times
.
For info about memory usage use psutil.virtual_memory
.
Note that psutil works with Linux, OS X, Windows, Solaris and FreeBSD and with python 2.4 through 3.3.
Process.connections
. –
Penman I like using wmic
on Windows. You can run it from the command-line, so you can run it from Python.
from subprocess import Popen,PIPE
proc = Popen('wmic cpu',stdout=PIPE, stderr=PIPE)
print str(proc.communicate())
With wmic
you can get processes, cpu, and memory info easily. Just use wmic cpu
, wmic process
, and wmic memphysical
. You can also filter out certain attributes by using wmic <alias> get <attribute>
. And you can get a list of all commands with wmic /?
. Hope that helps!
You can check out the official documentation for WMIC here: http://technet.microsoft.com/en-us/library/bb742610.aspx
This Python 3.3 code works for Windows 7 with UAC all the way down.
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")
"can psutil get network stats per process? I googled and read docs for about an hour, haven't found anything –
chester89"
Don't worry chester89, I've got you covered:
import psutil#God-sent module
for i in range(2):#looping twice given https://psutil.readthedocs.io/en/latest/#psutil.Process.cpu_percent '''Warning the first time this method is called with interval = 0.0 or None it will return a meaningless 0.0 value which you are supposed to ignore.'''
for process0 in psutil.process_iter():#for each process running...
print(process0.name(),process0.cpu_percent())#...print the name and how much of the overall CPU utilization does this process makes up!
print('\n'*20)#again, due to the above comment -> "Warning", only the section after this blank space will have useful values!
© 2022 - 2024 — McMap. All rights reserved.