美文网首页
监控进程重启python脚本

监控进程重启python脚本

作者: ketchup | 来源:发表于2017-11-09 23:50 被阅读0次
    import subprocess
    import os
    import datetime
    
    #查看进程中程序相关执行的进程数 是否少于2
    res = subprocess.Popen("ps -ef | grep get_money",stdout=subprocess.PIPE,shell=True)
    python_process =res.stdout.readlines()
    counts=len(python_process)
    if counts < 2:
        # writing some log info 
        #reboot 重启这个程序
        os.system('/usr/bin/python /Users/Luke/Desktop/get_money.py')
    

    然后用crontab -e 定时执行改脚本就可以
    定时运行该脚本

    crontab -e 进入编辑模式
    

    crontab 里面的路径尽量都写绝对路径
    然后输入

    */10 * * * * /usr/bin/python /Users/mac/Desktop/文件名
    

    每十分钟运行该脚本一次

    关于crontab 如何设置定时任务点击这里

    【例】上面ps -ef | grep 程序名

    ~ Luke$ ps -ef | grep date_for_file
    
    503 49785 41020   0  2:09下午 ttys001    0:00.06       /Library/Frameworks/Python.framework/Versions/3.5/Resources/Python.app/Contents/MacOS/Python date_for_file.py
    503 49818 49787   0  2:10下午 ttys003    0:00.00 grep date_for_file
    

    Tips:

    1. 可以加入 python test.py & 让程序后台执行
    2. 可以把程序写进shell 脚本里批量后台执行

    3.设置守护进程看这里

    shell脚本实现

    进程挂掉后重启, 并打印重启后的进程id

    #!/bin/sh
    
    while true;
    do
    
        count=ps -ef|grep 进程名|grep -v grep
    
        if [ "$?" != "0" ];then
    
        echo  ">>>>start run it"
    
        启动进程命令
    
        $new_pid=pgrep -f 进程名
    
        echo  ">>>>new pid $(new_pid)”
    
    fi
    
    sleep 5
    
    done
    

    相关文章

      网友评论

          本文标题:监控进程重启python脚本

          本文链接:https://www.haomeiwen.com/subject/ixuzcxtx.html