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

Python腳本實現(xiàn)網(wǎng)卡流量監(jiān)控

 更新時間:2015年02月14日 11:12:11   投稿:junjie  
這篇文章主要介紹了Python腳本實現(xiàn)網(wǎng)卡流量監(jiān)控,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
#/usr/bin/env/python
#coding=utf-8

import sys,re,time,os
maxdata = 50000 #單位KB
memfilename = '/tmp/newnetcardtransdata.txt'
netcard = '/proc/net/dev'

def checkfile(filename):
  if os.path.isfile(filename):
    pass
  else:
    f = open(filename, 'w')
    f.write('0')
    f.close()

def get_net_data():
  nc = netcard or '/proc/net/dev'
  fd = open(nc, "r")
  netcardstatus = False
  for line in fd.readlines():
    if line.find("eth0") > 0:
      netcardstatus = True
      field = line.split()
      recv = field[0].split(":")[1]
      recv = recv or field[1]
      send = field[8]
  if not netcardstatus:
    fd.close()
    print 'Please setup your netcard'
    sys.exit()
  fd.close()
  return (float(recv), float(send))

def monfirst(filename):
  nowtime = time.strftime('%m-%d %H:%M',time.localtime(time.time()))
  sec = time.localtime().tm_sec
  if nowtime == '01-01 00:00':
    if sec < 10:
      f = open(filename, 'w')
      f.write('0')
      f.close()      

def net_loop():
  (recv, send) = get_net_data()
  checkfile(memfilename)
  monfirst(memfilename)
  lasttransdaraopen = open(memfilename,'r')
  lasttransdata = lasttransdaraopen.readline()
  lasttransdaraopen.close()
  totaltrans = int(lasttransdata) or 0
  while True:
    time.sleep(3)
    (new_recv, new_send) = get_net_data()
    recvdata = (new_recv - recv) / 1024
    senddata = (new_send - send) / 1024
    totaltrans += int(recvdata)
    totaltrans += int(senddata)
    memw = open(memfilename,'w')
    memw.write(str(totaltrans))
    memw.close()
    if totaltrans >= maxdata:
      os.system('init 0')

if __name__ == "__main__":
  net_loop()

用ROOT權(quán)限運行,maxdata為最大流量限制 超過這個限制,系統(tǒng)自動關(guān)機 當(dāng)然,你可以改os.system('init 0')為你想要的命令 主要是現(xiàn)在VPS都限制流量,才搞了這個小腳本

相關(guān)文章

  • Python Playwright 文本框操作技巧

    Python Playwright 文本框操作技巧

    這篇文章主要介紹了Python Playwright 文本框操作技巧,包括如何獲得文本框的值,以及向文本框中添加單行和多行文本,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • 基于Python制作一個惡搞代碼

    基于Python制作一個惡搞代碼

    這篇文章主要為大家詳細(xì)介紹了如何基于Python和Tkinter制作一個惡搞代碼--無限彈窗,每天寫一些有趣的小程序,帶你成為一個浪漫的程序員
    2023-08-08
  • Python輸入正負(fù)10進(jìn)制,轉(zhuǎn)4位16進(jìn)制問題

    Python輸入正負(fù)10進(jìn)制,轉(zhuǎn)4位16進(jìn)制問題

    這篇文章主要介紹了Python輸入正負(fù)10進(jìn)制,轉(zhuǎn)4位16進(jìn)制問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 使用瀏覽器訪問python寫的服務(wù)器程序

    使用瀏覽器訪問python寫的服務(wù)器程序

    這篇文章主要介紹了用瀏覽器訪問python寫的服務(wù)器程序,本文通過實例代碼,需要的朋友可以參考下
    2019-10-10
  • 一道題學(xué)會Python函數(shù)中形參和實參

    一道題學(xué)會Python函數(shù)中形參和實參

    在Python編程中,函數(shù)的形參和實參是函數(shù)定義和調(diào)用的重要概念,本文主要介紹了一道題學(xué)會Python函數(shù)中形參和實參,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • 淺析Python中元祖、列表和字典的區(qū)別

    淺析Python中元祖、列表和字典的區(qū)別

    Python中有三種內(nèi)建的數(shù)據(jù)結(jié)構(gòu):列表、元祖和字典,這篇文章對這三種數(shù)據(jù)結(jié)構(gòu)進(jìn)行了分別的介紹與實例演示,讓大家更簡潔明了的了解這三個之間的區(qū)別,下面一起來看看。
    2016-08-08
  • Python爬蟲實現(xiàn)簡單的爬取有道翻譯功能示例

    Python爬蟲實現(xiàn)簡單的爬取有道翻譯功能示例

    這篇文章主要介紹了Python爬蟲實現(xiàn)簡單的爬取有道翻譯功能,結(jié)合實例形式分析了Python基于urllib庫實現(xiàn)的爬蟲爬取有道翻譯相關(guān)定義與數(shù)據(jù)交互功能操作技巧,需要的朋友可以參考下
    2018-07-07
  • 深入了解Python中反射和動態(tài)屬性的無限可能

    深入了解Python中反射和動態(tài)屬性的無限可能

    理解 Python 中的反射和動態(tài)屬性是編寫靈活和強大程序的關(guān)鍵,在這篇文章中,小編將帶領(lǐng)大家一起反射和動態(tài)屬性的概念,并提供大量示例代碼,希望對大家有所幫助
    2023-11-11
  • 使用Python獲取網(wǎng)段IP個數(shù)以及地址清單的方法

    使用Python獲取網(wǎng)段IP個數(shù)以及地址清單的方法

    今天小編就為大家分享一篇使用Python獲取網(wǎng)段IP個數(shù)以及地址清單的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python正則表達(dá)式常見的知識點匯總

    python正則表達(dá)式常見的知識點匯總

    正則表達(dá)式提供了一些可用的匹配模式,比如忽略大小寫、多行匹配等,下面這篇文章主要給大家介紹了關(guān)于python正則表達(dá)式常見的知識點,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05

最新評論