1. 程式人生 > >自動化運維之psutil模組~系統程序管理方法

自動化運維之psutil模組~系統程序管理方法

一、程序資訊

>>> import psutil  # 匯入模組
>>> psutil.pids()  # 檢視所有程序的PID號
[1, 2, 3, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 25, 26, 27, 28, 36, 37, 38, 39, 40, 59, 91, 227, 232, 233, 234, 235, 238, 250, 255, 256, 323, 339, 384, 434, 450, 451, 460, 462, 464, 465, 469, 470, 720, 759, 805, 850, 900, 934, 3668, 3832, 15183, 21805, 22579, 22581, 22583, 22737, 22739, 22953]
>>> jier = psutil.Process(22739)  # 例項化其中的一個PID號
>>> jier.name()  # 程序的名字
'bash'
>>> jier.exe()  # 程序的工作路徑
'/usr/bin/bash'
>>> jier.cwd()  # 程序的絕對工作路徑
'/root'
>>> jier.status() # 程序的狀態
'sleeping'
>>> jier.create_time()  # 程序的建立時間
1534907109.08
>>> jier.uids()  # 程序UID資訊
puids(real=0, effective=0, saved=0)
>>> jier.gids()  # 程序GID資訊
pgids(real=0, effective=0, saved=0)
>>> jier.cpu_times()  # 程序所佔CPU的時間
pcputimes(user=0.01, system=0.0, children_user=0.06, children_system=0.03)
>>> jier.cpu_affinity()  # 程序和CPU的親和度,如果要設定親和度的話可以將CPU作為一個引數進行設定
[0]
>>> jier.memory_percent()  # 程序記憶體利用率
0.20980865293397524
>>> jier.memory_info()  # 程序記憶體rss、vms資訊
pmem(rss=2183168, vms=118296576, shared=1675264, text=905216, lib=0, data=647168, dirty=0)
>>> jier.io_counters()  # 程序IO資訊,以及程序IO讀寫率以及位元組數
pio(read_count=1967, write_count=277, read_bytes=122880, write_bytes=36864, read_chars=1758292, write_chars=17836)
>>> jier.connections()  # 返回開啟程序socket的namedutples列表,包括fs、family、laddr等資訊  
[]
>>> jier.num_threads()  # 程序開啟的執行緒數
1
>>>