linux:使用python脚本监控某个进程是否存在(不使用crontab)

背景:

  需要每天定时去检测crontab进程是否启动,所以不能用crontab来启动检测脚本了,直接使用while 循环和sleep方式实现定时检测

# coding:utf-8
import os
import send_message
import datetime
import time


curr_time = datetime.datetime.now()
time_str = datetime.datetime.strftime(curr_time,'%H:%M:%S')

def loopMonitor():
    curr_time = datetime.datetime.now()
    time_str = datetime.datetime.strftime(curr_time,'%H:%M')

    if time_str == '08:05':
        print 'come in already'
        check_process()
        return
    #2s检查一次
    time.sleep(60)
    loopMonitor()


def check_process():

    process="./cron.lock"

    os.system("ps -ef|grep python3|grep -v grep >%s" % process)
    if not(os.path.getsize(process)):
        send_message.send_message('crontab not running', [8618320120156])
    else:
        f=open('./cron.lock', "r+")
        f.truncate()


if __name__ == '__main__':
    loopMonitor()

 

posted @ 2019-09-06 10:34  秋寻草  阅读(3332)  评论(0编辑  收藏  举报