国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python3實(shí)現(xiàn)磁盤空間監(jiān)控

2020-02-15 21:56:36
字體:
供稿:網(wǎng)友

本文實(shí)例為大家分享了python3磁盤空間監(jiān)控的具體代碼,供大家參考,具體內(nèi)容如下

軟硬件環(huán)境

python3
apscheduler

前言

在做頻繁操作磁盤的python項(xiàng)目時(shí),經(jīng)常會碰到磁盤空間不足的情況,這個(gè)時(shí)候,工程應(yīng)該要有自己的處理模塊,當(dāng)磁盤利用率到達(dá)某個(gè)點(diǎn)時(shí),發(fā)出警告并停止程序的運(yùn)行。本文就利用Python3中的apscheduler模塊來處理這樣的問題。

代碼實(shí)踐

import osimport sysimport signalimport loggingfrom apscheduler.schedulers.background import BackgroundSchedulerfrom apscheduler.triggers.interval import IntervalTrigger# 開啟磁盤空間檢測sched = BackgroundScheduler()# 間隔5分鐘開啟一個(gè)檢查intervalTrigger = IntervalTrigger(minutes=5)# 給檢查任務(wù)設(shè)個(gè)id,方便任務(wù)的取消sched.add_job(spaceMonitorJob, trigger=intervalTrigger, id='id_space_monitor')sched.start()# 禁止apscheduler相關(guān)信息屏幕輸出logging.getLogger('apscheduler.executors.default').propagate = False

方法spaceMonitorJob代碼如下

def spaceMonitorJob(): ''' 當(dāng)磁盤(切片存儲的目錄)利用率超過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.')  # 移除任務(wù),病關(guān)閉sched任務(wù)  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)  # 殺掉進(jìn)程  os.killpg(os.getpgid(os.getpid()), signal.SIGKILL)  # 退出  exit(-3)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林站長站。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 临朐县| 栖霞市| 泽普县| 通辽市| 滁州市| 兴化市| 安陆市| 尚义县| 赤壁市| 黑龙江省| 开阳县| 田林县| 固镇县| 南阳市| 贵定县| 横山县| 青冈县| 富锦市| 清水河县| 巴林左旗| 温宿县| 淮滨县| 梨树县| 澄江县| 无锡市| 漳州市| 凤庆县| 双辽市| 泰来县| 靖安县| 且末县| 巴里| 东光县| 清水河县| 满城县| 曲水县| 德化县| 那坡县| 甘洛县| 科技| 启东市|