监控进程重启python脚本

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脚本)