欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于python調(diào)用psutil模塊過(guò)程解析

 更新時(shí)間:2019年12月20日 10:04:38   作者:白馬酒涼  
這篇文章主要介紹了基于python調(diào)用psutils模塊過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了基于python調(diào)用psutils模塊過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

用Python來(lái)編寫腳本簡(jiǎn)化日常的運(yùn)維工作是Python的一個(gè)重要用途。在Linux下,有許多系統(tǒng)命令可以讓我們時(shí)刻監(jiān)控系統(tǒng)運(yùn)行的狀態(tài),如ps,top,free等等。要獲取這些系統(tǒng)信息,Python可以通過(guò)subprocess模塊調(diào)用并獲取結(jié)果。但這樣做顯得很麻煩,尤其是要寫很多解析代碼。

在Python中獲取系統(tǒng)信息的另一個(gè)好辦法是使用psutil這個(gè)第三方模塊。顧名思義,psutil = process and system utilities,它不僅可以通過(guò)一兩行代碼實(shí)現(xiàn)系統(tǒng)監(jiān)控,還可以跨平臺(tái)使用,支持Linux/UNIX/OSX/Windows等,是系統(tǒng)管理員和運(yùn)維小伙伴不可或缺的必備模塊。

代碼如下

oshelper.py

#encoding=utf-8
import psutil 
import datetime 
 
#查看cpu的信息 
print u"CPU 個(gè)數(shù) %s"%psutil.cpu_count() 
print u"物理CPU個(gè)數(shù) %s"%psutil.cpu_count(logical=False) 
print u"CPU uptimes" 
print psutil.cpu_times() 
print "" 
 
#查看內(nèi)存信息 
mem = psutil.virtual_memory()
print u"系統(tǒng)總內(nèi)存 %s G"%(mem.total/1024/1024/1024) 
print u"系統(tǒng)可用內(nèi)存 %s G"%(mem.available/1024/1024/1024) 
mem_rate = int(mem.available)/float(mem.total) 
print u"系統(tǒng)內(nèi)存使用率 %s %%"%int(mem_rate*100) 

#交換分區(qū)
swapmem = psutil.swap_memory()
print u"交換分區(qū) %s G"%(swapmem.total/1024/1024/1024) 
print u"交換分區(qū)可用 %s G"%(swapmem.free/1024/1024/1024) 
print u"交換分區(qū)使用率 %s %%"%int(swapmem.percent) 
#系統(tǒng)啟動(dòng)時(shí)間 
print u"系統(tǒng)啟動(dòng)時(shí)間 %s"%datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M:%S") 
 
#系統(tǒng)用戶 
users_count = len(psutil.users()) 
users_list = ",".join([ u.name for u in psutil.users()]) 
print u"當(dāng)前有%s個(gè)用戶,分別是%s"%(users_count, users_list) 
 
#網(wǎng)卡,可以得到網(wǎng)卡屬性,連接數(shù),當(dāng)前流量等信息 
net = psutil.net_io_counters() 
bytes_sent = '{0:.2f} Mb'.format(net.bytes_recv / 1024 / 1024) 
bytes_rcvd = '{0:.2f} Mb'.format(net.bytes_sent / 1024 / 1024) 
print u"網(wǎng)卡接收流量 %s 網(wǎng)卡發(fā)送流量 %s"%(bytes_rcvd, bytes_sent) 
nis=psutil.net_io_counters(pernic=True)
print u"網(wǎng)卡 " ,tuple(nis)

#進(jìn)程 進(jìn)程的各種詳細(xì)參數(shù) 
def show_process(pid):
  try:
    p = psutil.Process(pid) 
  
    p.name()  #進(jìn)程名
    #p.exe()  #進(jìn)程的bin路徑
    #p.cwd()  #進(jìn)程的工作目錄絕對(duì)路徑
    p.status()  #進(jìn)程狀態(tài)
    p.create_time() #進(jìn)程創(chuàng)建時(shí)間
    #p.uids()  #進(jìn)程uid信息
    #p.gids()  #進(jìn)程的gid信息
    p.cpu_times()  #進(jìn)程的cpu時(shí)間信息,包括user,system兩個(gè)cpu信息
    #p.cpu_affinity() #get進(jìn)程cpu親和度,如果要設(shè)置cpu親和度,將cpu號(hào)作為參考就好
    p.memory_percent() #進(jìn)程內(nèi)存利用率
    p.memory_info()  #進(jìn)程內(nèi)存rss,vms信息
    p.io_counters()  #進(jìn)程的IO信息,包括讀寫IO數(shù)字及參數(shù)
    #p.connectios()  #返回進(jìn)程列表
    p.num_threads() #進(jìn)程開(kāi)啟的線程數(shù)
    '''
    聽(tīng)過(guò)psutil的Popen方法啟動(dòng)應(yīng)用程序,可以跟蹤程序的相關(guān)信息
    from subprocess import PIPE
    p = psutil.Popen(["/usr/bin/python", "-c", "print('hello')"],stdout=PIPE)
    '''
    p.name()
    #p.username()
  except:
    pass
'''
pids=psutil.pids()
for pid in pids:
  show_process(pid)
'''
with open (r'd:\temp\test.txt','w') as f:
  sys.stdout=f
  for proc in psutil.process_iter():
  '''
    if proc.name() == "w3wp.exe":
      cpu_threshold=proc.cpu_percent(interval=2)/24 
      print proc.name(),proc.create_time(),cpu_threshold
      p.terminate() proc .kill()
      Iterate over all ports this process is listening to 
    for con in proc.get_connections():
      con
  '''
    pa=proc.as_dict()
    print pa.get('name'),pa.get('create_time'),pa.get('pid'),pa.get('status'),pa.get('connections'),pa.get('open_files'),pa.get('cpu_percent'),pa.get('memory_percent'),pa.get('username'),pa.get('num_threads')

print u"當(dāng)前進(jìn)程:",psutil.Process(os.getpid()).cmdline()

#磁盤 磁盤的使用量等等 
dps=psutil.disk_partitions()
for dp in dps:
  dp
du=psutil.disk_usage('/')
print u"硬盤總共容量 %s G"%(du.total/1024/1024/1024) 
print u"硬盤可用 %s G"%(du.free/1024/1024/1024)
print u"硬盤已用 %s %%"%(du.percent)

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • pytest框架之fixture詳細(xì)使用詳解

    pytest框架之fixture詳細(xì)使用詳解

    這篇文章主要介紹了pytest框架之fixture詳細(xì)使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • python 打印出所有的對(duì)象/模塊的屬性(實(shí)例代碼)

    python 打印出所有的對(duì)象/模塊的屬性(實(shí)例代碼)

    下面小編就為大家?guī)?lái)一篇python 打印出所有的對(duì)象/模塊的屬性(實(shí)例代碼)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-09-09
  • Python利用pyreadline模塊實(shí)現(xiàn)交互式命令行開(kāi)發(fā)

    Python利用pyreadline模塊實(shí)現(xiàn)交互式命令行開(kāi)發(fā)

    交互式命令行是一種方便用戶進(jìn)行交互的工具,能夠使用戶與計(jì)算機(jī)進(jìn)行快速的交互操作,提高工作效率。本文主要介紹了如何利用pyreadline模塊實(shí)現(xiàn)交互式命令行開(kāi)發(fā),需要的可以參考一下
    2023-05-05
  • python做翻譯軟件詳解,小白也看得明白

    python做翻譯軟件詳解,小白也看得明白

    這篇文章主要介紹了怎么樣用python做的翻譯軟件,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • Python利用pdfplumber庫(kù)提取pdf中表格數(shù)據(jù)

    Python利用pdfplumber庫(kù)提取pdf中表格數(shù)據(jù)

    pdfplumber是一個(gè)用于從PDF文檔中提取文本和表格數(shù)據(jù)的Python庫(kù),它可以幫助用戶輕松地從PDF文件中提取有用的信息,例如表格、文本、元數(shù)據(jù)等,本文介紹了如何通過(guò)Python的pdfplumber庫(kù)提取pdf中表格數(shù)據(jù),感興趣的同學(xué)可以參考一下
    2023-05-05
  • Python實(shí)現(xiàn)屏幕截圖的兩種方式

    Python實(shí)現(xiàn)屏幕截圖的兩種方式

    這篇文章主要介紹了Python實(shí)現(xiàn)屏幕截圖的兩種方式及對(duì)這兩者的特點(diǎn)和用法進(jìn)行詳細(xì)解釋,感興趣的朋友一起看看
    2018-02-02
  • PyCharm GUI界面開(kāi)發(fā)和exe文件生成的實(shí)現(xiàn)

    PyCharm GUI界面開(kāi)發(fā)和exe文件生成的實(shí)現(xiàn)

    這篇文章主要介紹了PyCharm GUI界面開(kāi)發(fā)和exe文件生成,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 自適應(yīng)線性神經(jīng)網(wǎng)絡(luò)Adaline的python實(shí)現(xiàn)詳解

    自適應(yīng)線性神經(jīng)網(wǎng)絡(luò)Adaline的python實(shí)現(xiàn)詳解

    這篇文章主要介紹了自適應(yīng)線性神經(jīng)網(wǎng)絡(luò)Adaline的python實(shí)現(xiàn)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Python內(nèi)置函數(shù)—vars的具體使用方法

    Python內(nèi)置函數(shù)—vars的具體使用方法

    本篇文章主要介紹了Python內(nèi)置函數(shù)—vars的具體使用方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • Python實(shí)現(xiàn)的KMeans聚類算法實(shí)例分析

    Python實(shí)現(xiàn)的KMeans聚類算法實(shí)例分析

    這篇文章主要介紹了Python實(shí)現(xiàn)的KMeans聚類算法,結(jié)合實(shí)例形式較為詳細(xì)的分析了KMeans聚類算法概念、原理、定義及使用相關(guān)操作技巧,需要的朋友可以參考下
    2018-12-12

最新評(píng)論