python 获取CPU、内存、硬盘、进程状态信息 代码

#LOG:
#   test to check CPU ,memory and process state
#   built time 2017-05-19
#   coder:ly


#!/usr/bin/python
# -*- coding: UTF-8 -*-

import os
import time
import psutil
import sys
import atexit

#the process name
PROCESS_NAME1="dwm.exe"
PROCESS_NAME2="QQ.exe"
PROCESS_NAME3="WeChat.exe"
PROCESS_NAME4="wininit.exe"
PROCESS_NAME5="360Tray.exe"
PROCESS_NAME6="conhost.exe"


#function of cpu total state
def GetCPUstate(time_count=1):              #cpu物理个数   +   cpu总使用率
    return (str(psutil.cpu_count(logical=False))+"-"+str(psutil.cpu_percent(time_count,0)) + "%")



#function of evryone state
def GetCPUsatus(time_count=1):              #每个cpu的使用率
    return (str(psutil.cpu_percent(time_count,1)) + "%")


#function of memory state
def GetMemorystate():
    phymem=psutil.virtual_memory()
    string =str(int(phymem.total / 1024 /1024))+"M"             #内存总数
    string +="-"
    string +=str(int(phymem.used / 1024 / 1024))+"M"            #已使用内存
    string += "-"
    string +=str(int(phymem.free / 1024 / 1024))+"M"            #剩余内存
    string += "-"
    sum_mem=str( int(phymem.used / 1024 / 1024) / int(phymem.total / 1024 /1024) * 100)         #内存使用率
    string +=sum_mem[0:5]+"%"
    return (string)



#function of disk state
def GetDisksatate():
    diskinfo=psutil.disk_usage('/')
    disk_str =str(int(diskinfo.total/1024/1024/1024))+"G"               #硬盘总容量
    disk_str +="-"
    disk_str +=str(int(diskinfo.used/1024/1024/1024))+"G"               #已使用硬盘容量
    disk_str += "-"
    disk_str +=str(int(diskinfo.free/1024/1024/1024))+"G"               #剩余容量
    disk_str += "-"
    sum_disk=str( int(diskinfo.used/1024/1024/1024) / int(diskinfo.total/1024/1024/1024) * 100)         #硬盘使用率
    disk_str +=sum_disk[0:5]+"%"
    return (disk_str)


#function of proscess state
def CheckProcess1state():
    for i in psutil.process_iter():
        if i.name() == PROCESS_NAME1:           #进程1   name+pid +state
            str_tmp=str(i.name())+"-"+str(i.pid)+"-"+str(i.status())
            return(str_tmp)


#function of proscess state
def CheckProcess2state():
    for i in psutil.process_iter():
        if i.name() == PROCESS_NAME2:           #进程2    name+pid+state
            str_tmp=str(i.name())+"-"+str(i.pid)+"-"+str(i.status())
            return(str_tmp)


#function of proscess state
def CheckProcess3state():
    for i in psutil.process_iter():
        if i.name() == PROCESS_NAME3:           #进程3    name+pid+state
            str_tmp=str(i.name())+"-"+str(i.pid)+"-"+str(i.status())
            return(str_tmp)


#function of proscess state
def CheckProcess4state():
    for i in psutil.process_iter():
        if i.name() == PROCESS_NAME4:           #进程4    name+pid+state
            str_tmp=str(i.name())+"-"+str(i.pid)+"-"+str(i.status())
            return(str_tmp)


#function of proscess state
def CheckProcess5state():
    for i in psutil.process_iter():
        if i.name() == PROCESS_NAME5:           #进程5    name+pid+state
            str_tmp=str(i.name())+"-"+str(i.pid)+"-"+str(i.status())
            return(str_tmp)



#function of proscess state
def CheckProcess6state():
    for i in psutil.process_iter():
        if i.name() == PROCESS_NAME6:           #进程6    name+pid+state
            str_tmp=str(i.name())+"-"+str(i.pid)+"-"+str(i.status())
            return(str_tmp)



#main
def GetInfoMain():
        time_count =1
        infomaition =GetCPUstate(time_count)
        infomaition +="-"
        infomaition +=GetCPUsatus(time_count)
        infomaition += "-"
        infomaition +=GetMemorystate()
        infomaition += "-"
        infomaition +=GetDisksatate()
        infomaition += "-"
        infomaition +=CheckProcess1state()
        infomaition += "-"
        infomaition += CheckProcess2state()
        infomaition += "-"
        infomaition += CheckProcess3state()
        infomaition += "-"
        infomaition += CheckProcess4state()
        infomaition += "-"
        infomaition += CheckProcess5state()
        infomaition += "-"
        infomaition += CheckProcess6state()

        #print (infomaition)
        return (infomaition)


#GetInfoMain()
#try:
#    while 1:
#        time.sleep(1)
#        strstr=GetInfoMain()
#        print (strstr)
#except:
#   print ("exit bd-CState.py")
效果如图,自己调整输出格式

你可能感兴趣的:(编程技术)