Python - get process names,CPU,Mem Usage and Peak Mem Usage in windows

后端 未结 3 1258
Happy的楠姐
Happy的楠姐 2020-12-14 02:55

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

相关标签:
3条回答
  • 2020-12-14 02:56

    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")
    
    0 讨论(0)
  • 2020-12-14 02:59

    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.

    0 讨论(0)
  • 2020-12-14 03:20

    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

    0 讨论(0)
提交回复
热议问题