[Python]psutil模組:用於獲得處理器、系統和程序相關資訊
阿新 • • 發佈:2019-01-28
模組地址:
psutil功能
提供介面可以用來獲取資訊,包括:
- 當前執行的程序
- 系統(資源使用)資訊
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)