python 自定義守護線程

code monitor.py

#!/usr/bin/env python
# coding:utf-8

import os
import logging

#日志格式
LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"
logging.basicConfig(filename='monitor.log', level=logging.DEBUG, format=LOG_FORMAT)
process = '/home/work/monitor/run.lock'
#需要監(jiān)控的服務(wù)
servers = ['bill_data_cur/','bill_data_cur_new']
#服務(wù)腳本目錄
path = '/home/proxy/bin/'
for server in servers:
    os.system('jps -m|grep %s > %s'%(server,process))
    if not (os.path.getsize(process)):
         os.system("sh %s%s.sh"%(path,server.replace("/","")))
logging.info("checking...")

通過執(zhí)行shell jps -m|grep 輸出文本的形式確定程序是否運行
如果未運行將程序啟動

crontab -e 調(diào)度

0 * * * * python /home/work/monitor/monitor.py

通過crontab每小時調(diào)度一次

cron 日志查看地址: /var/log/cron

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 前一天學(xué)習(xí)了 at 命令是針對僅運行一次的任務(wù),循環(huán)運行的例行性計劃任務(wù),linux系統(tǒng)則是由 cron (cro...
    Zcclucky閱讀 590評論 0 0
  • Linux 系統(tǒng)提供了使用者控制計劃任務(wù)的命令 :crontab 命令。 一、crond簡介 crond是linu...
    happeace閱讀 1,797評論 0 53
  • cron服務(wù)提供crontab命令來設(shè)定cron服務(wù)的,類似于windows的計劃任務(wù),它的設(shè)定方式如下 cron...
    jimlin閱讀 7,905評論 0 1
  • 用@Tested標(biāo)注被測試類,在運行測試方法時,如果該實例仍然為null,JMockit會自動組裝相關(guān)mock對象...
    孫興斌閱讀 789評論 0 0
  • 2017年6月3號,我們又在這里見面了,據(jù)說已經(jīng)連著熱了好久,卻在我們見面的這一天溫度變得涼爽,一度讓我覺得這可能...
    Sunnyhappy閱讀 337評論 0 0