目錄
psutil是乙個開源切跨平台的庫,其提供了便利的函式用來獲取才做系統的資訊,比如cpu,記憶體,磁碟,網路等。此外,psutil還可以用來進行程序管理,包括判斷程序是否存在、獲取程序列表、獲取程序詳細資訊等。而且psutil還提供了許多命令列工具提供的功能,包括:ps,top,lsof,netstat,ifconfig, who,df,kill,free,nice,ionice,iostat,iotop,uptime,pidof,tty,taskset,pmap。
psutil是乙個跨平台的庫,在官方**上查到其支援如下作業系統。
works with python versions from 2.6 to 3.x.
psutil包含了異常、類、功能函式和常量,其中功能函式用來獲取系統的資訊,如cpu、磁碟、記憶體、網路等。類用來實現程序的管理功能
函式描述
psutil.cpu_count()
cpu_count(,[logical]):預設返回邏輯cpu的個數,當設定logical的引數為false時,返回物理cpu的個數。
psutil.cpu_percent()
cpu_percent(,[percpu],[interval]):返回cpu的利用率,percpu為true時顯示所有物理核心的利用率,interval不為0時,則阻塞時顯示interval執行的時間內的平均利用率
psutil.cpu_times()
cpu_times(,[percpu]):以命名元組(namedtuple)的形式返回cpu的時間花費,percpu=true表示獲取每個cpu的時間花費
psutil.cpu_times_percent()
cpu_times_percent(,[percpu]):功能和cpu_times大致相同,看字面意思就能知道,該函式返回的是耗時比例。
psutil.cpu_stats()
cpu_stats()以命名元組的形式返回cpu的統計資訊,包括上下文切換,中斷,軟中斷和系統呼叫次數。
psutil.cpu_freq()
cpu_freq([percpu]):返回cpu頻率
函式
描述virtual_memory()
獲取系統記憶體的使用情況,以命名元組的形式返回記憶體使用情況,包括總記憶體,可用記憶體,記憶體利用率,buffer和cache等。單位為位元組。
swap_memory()
獲取系統交換記憶體的統計資訊,以命名元組的形式返回swap/memory使用情況,包含swap中頁的換入和換出。
函式描述
psutil.disk_io_counters()
disk_io_counters([perdisk]):以命名元組的形式返回磁碟io統計資訊(彙總的),包括讀、寫的次數,讀、寫的位元組數等。
當perdisk的值為true,則分別列出單個磁碟的統計資訊(字典:key為磁碟名稱,value為統計的namedtuple)。
psutil.disk_partitions()
disk_partitions([all=false]):以命名元組的形式返回所有已掛載的磁碟,包含磁碟名稱,掛載點,檔案系統型別等資訊。
當all等於true時,返回包含/proc等特殊檔案系統的掛載資訊
psutil.disk_usage()
disk_usage(path):以命名元組的形式返回path所在磁碟的使用情況,包括磁碟的容量、已經使用的磁碟容量、磁碟的空間利用率等。
函式詳情
psutil.net_io_counter([pernic])
以命名元組的形式返回當前系統中每塊網絡卡的網路io統計資訊,包括收發位元組數,收發包的數量、出錯的情況和刪包情況。當pernic為true時,則列出所有網絡卡的統計資訊。
psutil.net_connections([kind])
以列表的形式返回每個網路連線的詳細資訊(namedtuple)。命名元組包含fd, family, type, laddr, raddr, status, pid等資訊。kind表示過濾的連線型別,支援的值如下:(預設為inet)
psutil.net_if_addrs()
以字典的形式返回網絡卡的配置資訊,包括ip位址和mac位址、子網掩碼和廣播位址。
psutil.net_if_stats()
返回網絡卡的詳細資訊,包括是否啟動、通訊型別、傳輸速度與mtu。
psutil還提供了作為程序管理的功能函式,包括獲取程序列表,判斷是否存在。
函式描述
psutil.pids()
以列表的形式返回當前正在執行的程序
psutil.pid_exists(1)
判斷給點定的pid是否存在
psutil.process_iter()
迭代當前正在執行的程序,返回的是每個程序的process物件
psutil.process( pid )
對程序進行封裝,可以使用該類的方法獲取進行的詳細資訊,或者給程序傳送訊號。傳入引數為pid
psutil.process( pid )獲取程序相關資訊的方法:
函式
描述
psutil.sensors_temperatures(fahrenheit=false)
返回硬體的溫度
psutil.sensors_fans()
返回電池狀態
psutil.sensors_battery()
返回硬體風扇速度psutil.users()
以命名元組的方式返回當前登陸使用者的資訊,包括使用者名稱,登陸時間,終端,與主機資訊
psutil.boot_time()
以時間戳的形式返回系統的啟動時間
python模組詳解
1.模組內容 模組可以包含可執行語句以及函式定義,可執行語句只有在第一次import或當作指令碼直接執行時才會執行。每個模組有自己的私有符號表,所以不會造成不同模組之間的變數汙染。2.匯入模組 模組匯入的三種方式 3.執行模組 執行的兩種方式 4.模組搜尋路徑 既然要匯入模組,直譯器就需要查詢匯入的...
python模組詳解 hashlib
用於加密相關的操作,在python3中替代了md5和sha模組,主要提供sha和md5演算法。md5import hashlib m hashlib.md5 呼叫md5方法 m.update b hello print m.digest b x8b x1a x99s xc4a x12 x96 xa8...
python模組詳解 shelve
shelve模組是乙個簡單的k,v 將記憶體資料通過檔案持久化的模組,可以持久化任何pickle可以支援的python資料。簡單的說對 pickle的更上一層的封裝。寫檔案import shelve d shelve.open test4 這個檔案不用存在,執行自動生成 name hello chi...