中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python3實現磁盤空間監控

發布時間:2020-09-17 16:49:29 來源:腳本之家 閱讀:126 作者:djstavaV 欄目:開發技術

本文實例為大家分享了python3磁盤空間監控的具體代碼,供大家參考,具體內容如下

軟硬件環境

python3
apscheduler

前言

在做頻繁操作磁盤的python項目時,經常會碰到磁盤空間不足的情況,這個時候,工程應該要有自己的處理模塊,當磁盤利用率到達某個點時,發出警告并停止程序的運行。本文就利用Python3中的apscheduler模塊來處理這樣的問題。

代碼實踐

import os
import sys
import signal
import logging

from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.triggers.interval import IntervalTrigger

# 開啟磁盤空間檢測
sched = BackgroundScheduler()

# 間隔5分鐘開啟一個檢查
intervalTrigger = IntervalTrigger(minutes=5)

# 給檢查任務設個id,方便任務的取消
sched.add_job(spaceMonitorJob, trigger=intervalTrigger, id='id_space_monitor')
sched.start()

# 禁止apscheduler相關信息屏幕輸出
logging.getLogger('apscheduler.executors.default').propagate = False

方法spaceMonitorJob代碼如下

def spaceMonitorJob():
 '''
 當磁盤(切片存儲的目錄)利用率超過90%,程序退出
 :return:
 '''

 try:
  st = os.statvfs('/')
  total = st.f_blocks * st.f_frsize
  used = (st.f_blocks - st.f_bfree) * st.f_frsize
 except FileNotFoundError:
  print('check webroot space error.')
  logger.error('check webroot space error.')

  # 移除任務,病關閉sched任務
  sched.remove_job(job_id='id_space_monitor')
  sched.shutdown(wait=False)
  sys.exit(-3)

 if used / total > 0.9:
  print('No enough space.')
  logger.debug('No enough space.')
  sched.remove_job(job_id='id_space_monitor')
  sched.shutdown(wait=False)

  # 殺掉進程
  os.killpg(os.getpgid(os.getpid()), signal.SIGKILL)

  # 退出
  exit(-3)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

普兰店市| 土默特右旗| 柏乡县| 泾阳县| 忻州市| 嫩江县| 南涧| 玛多县| 科尔| 澄江县| 漳州市| 阿拉善左旗| 瓦房店市| 白城市| 和林格尔县| 吉林市| 丹巴县| 双江| 灵宝市| 泾川县| 渝中区| 尚志市| 罗山县| 甘洛县| 聂拉木县| 金平| 玛纳斯县| 岫岩| 江川县| 宜昌市| 临朐县| 射阳县| 海晏县| 岑巩县| 洪泽县| 嘉峪关市| 罗定市| 陈巴尔虎旗| 康平县| 峨眉山市| 泊头市|