1. 程式人生 > >[Python]psutil模組:用於獲得處理器、系統和程序相關資訊

[Python]psutil模組:用於獲得處理器、系統和程序相關資訊

模組地址:

psutil功能

提供介面可以用來獲取資訊,包括:

  1. 當前執行的程序
  2. 系統(資源使用)資訊
    CPU
    記憶體
    磁碟
    網路
    使用者

安裝:

windows下安裝比較簡單,從這裡下相應的安裝包exe,傻瓜安裝即可。psutil區分python2.7和python3.x,所以針對自己的環境下不同的包。

測試

寫了一段程式碼,主要測試程序相關的功能。psutil還有其他很多的功能,這裡就不再寫測試程式碼了。

# -*- coding=utf-8 -*-
import psutil

def get_process_cmdline(process_name)
:
''' 獲取程序的命令列 :param process_name: 程序名 :return:返回該程序名(可能有多個)的各程序的引數 ''' pid_list = psutil.pids() for each_pid in pid_list: try: each_pro = psutil.Process(each_pid) if each_pro.name().lower() == process_name.lower(): yield each_pro.cmdline() except
psutil.NoSuchProcess, pid: print("no process found with pid=%s"%pid) def kill_process(process_name): ''' 殺死程序 :param process_name: 程序名 :return:None ''' pid_list = psutil.pids() for each_pid in pid_list: try: each_pro = psutil.Process(each_pid) if
each_pro.name().lower() == process_name.lower(): print("found process") print("process_name=%s"%each_pro.name()) print('process_exe=%s'%each_pro.exe()) print('process_cwd=%s'%each_pro.cwd()) print('process_cmdline=%s'%each_pro.cmdline()) print('process_status=%s'%each_pro.status()) print('process_username=%s'%each_pro.username()) print('process_createtime=%s'%each_pro.create_time()) print('now will kill this process') each_pro.terminate() each_pro.wait(timeout=3) print('psutil.test():\n%s'%psutil.test()) except psutil.NoSuchProcess, pid: print("no process found with pid=%s"%pid)