python 写crontab 监控进程是否存在 不存在重新启动

完整代码

 

# coding:utf-8
import os
import datetime
import time
from crontab import CronTab

def func_crontab():
    my_user_cron = CronTab(user=True)

    if my_user_cron.crons != []:
        for i in my_user_cron.crons:
            if str(i).find("monitoring_process") != -1:
                print("task exists!!!")
            else:
                job = my_user_cron.new(command='/usr/bin/python3 /home/ljp/py/monitor/avlsdk_python3/monitoring_process.py')
                job.setall('*/2 * * * *')
                job.set_comment("monitoring_process")
                my_user_cron.write()            
    else:
        job = my_user_cron.new(command='/usr/bin/python3 /home/ljp/py/monitor/avlsdk_python3/monitoring_process.py')
        job.setall('*/2 * * * *')
        job.set_comment("monitoring_process")
        my_user_cron.write()
           

def check_process():
    process="aa"

    if os.system("ps -ef|grep %s|grep -v grep" % process) != 256:
        print("process exists")
    else:
        print("process does not exist")
        os.system("python3 aa.py")
if __name__ == '__main__':
    func_crontab()

    check_process()

  crontab 写入:

# coding:utf-8
import os
import datetime
import time
from crontab import CronTab

def func_crontab():
    my_user_cron = CronTab(user=True)

    if my_user_cron.crons != []:
        for i in my_user_cron.crons:
            if str(i).find("monitoring_process") != -1:
                print("task exists!!!")
            else:
                job = my_user_cron.new(command='/usr/bin/python3 /home/ljp/py/monitor/avlsdk_python3/monitoring_process.py')
                job.setall('*/2 * * * *')
                job.set_comment("monitoring_process")
                my_user_cron.write()            
    else:
        job = my_user_cron.new(command='/usr/bin/python3 /home/ljp/py/monitor/avlsdk_python3/monitoring_process.py')
        job.setall('*/2 * * * *')
        job.set_comment("monitoring_process")
        my_user_cron.write()

        os.system("python3 aa.py")
if __name__ == '__main__':
    func_crontab()

  

 进程监控并重启

# coding:utf-8
import os
import datetime
import time
from crontab import CronTab


def check_process():
    process="aa"

    if os.system("ps -ef|grep %s|grep -v grep" % process) != 256:
        print("process exists")
    else:
        print("process does not exist")
        os.system("python3 aa.py")

if __name__ == '__main__':
    check_process()

  

posted @ 2020-11-16 14:39  IT小平  阅读(333)  评论(0)    收藏  举报