psutil子產品:擷取系統資訊
psutil = process and system utilities
跨平台使用,支援
Linux /UNIX/OSX/Windows等擷取CPU資訊
.cpu_count() # CPU邏輯數量
.cpu_count(logical=False) # CPU實體核心
.cpu_times() # 統計CPU的使用者/系統/空閑時間
.cpu_percent(interval=1, percpu=True) # 類似top指令的CPU使用率
擷取記憶體資訊
.virtual_memory() # 擷取實體記憶體(位元組為機關)
.swap_memory() # 交換記憶體資訊
擷取磁盤資訊
.disk_partitions() # 磁盤分區資訊
.disk_usage('/') # 磁盤使用情況
.disk_io_counters() # 磁盤IO
擷取網絡資訊
.net_io_counters() # 擷取網絡讀寫位元組/包的個數
.net_if_addrs() # 擷取網絡接口資訊
.net_if_stats() # 擷取網絡接口狀态
.net_connections() # 目前網絡連接配接資訊(需要root權限)
.test() # 模拟出ps指令的效果
擷取程序資訊
.pids() # 所有程序ID
.Process(3776) # 擷取指定程序ID=3776 -> p
p.name() # 程序名稱'python3.6'
p.exe() # 程序exe路徑
p.cwd() # 程序工作目錄
p.cmdline() # 程序啟動的指令行
p.ppid() # 父程序ID
p.parent() # 父程序
p.children() # 子程序清單
p.status() # 程序狀态
p.username() # 程序使用者名
p.create_time() # 程序建立時間
p.terminal() # 程序終端
p.cpu_times() # 程序使用的CPU時間
p.memory_info() # 程序使用的記憶體
p.open_files() # 程序打開的檔案
p.connections() # 程序相關網絡連接配接
p.num_threads() # 程序的線程數量
p.threads() # 所有線程資訊
p.environ() # 程序環境變量
p.terminate() # 結束程序, 自己把自己結束
參考:
https://github.com/giampaolo/psutil