python 苹果手机自动重启_Linux下编写一个Python自动重启脚本

本文介绍了一种在Linux环境下编写Python脚本来监控其他Python脚本的运行状态。当检测到脚本异常终止时,该脚本会自动重启,并通过短信通知。脚本分为针对Python2和Python3的启动函数,且集成到crontab任务中进行周期性检查。
摘要由CSDN通过智能技术生成

团队中有一大部分的监控任务都是自己来做的,这其中包括了很多脚本,主要是Python脚本。但是有时由于不可预料的原因,Python会异常终止,因此编写一个自动检测Python脚本是否异常终止的脚本,当异常终止时,重新启动即可。

#!/bin/sh

# 一定要保证路径下Python文件唯一

base_path='/home/report724'

pythons_3=("ElkMaster.py" "CopyAndCrawlerDayData.py" "RabbitMQStatus.py")

pythons_2=("CoreMonitor.py" "SparkMonitor.py" "AthenaErrorLog.py" "ServiceIpCount.py" "AthenaForOperations.py")

function start_python_3(){

# $1 为程序的名字,即 *.py

program=$1

echo $program

pro_path=$(find $base_path -name $program)

echo $pro_path

cd ${pro_path%/*}

nohup ppython3 $pro_path > /dev/null &

curl "http://172.30.111.111:8088/report/monitor/sendSmsCode?phoneNumber=15788888888&captcha=999999&message=${program}已重启"

}

function start_python_2(){

# $1 为程序的名字,即 *.py

program=$1

echo $program

pro_path=$(find $base_path -name $program)

echo $pro_path

cd ${pro_path%/*}

nohup python $pro_path > /dev/null &

curl "http://172.30.111.111:8088/report/monitor/sendSmsCode?phoneNumber=15788888888&captcha=999999&message=${program}已重启"

}

# index=0

echo `date "+%Y-%m-%d %H:%M:%S"`

for python in ${pythons_3[@]}; do

#statements

ps aux | grep $python | grep -v grep

if [[ $? -ne 0 ]]; then

#statements

echo "start process....."

start_python_3 $python

else

echo "running....."

fi

# echo $index

# index=`expr $index + 1`

done

for python in ${pythons_2[@]}; do

#statements

ps aux | grep $python | grep -v grep

if [[ $? -ne 0 ]]; then

#statements

echo "start process....."

start_python_2 $python

else

echo "running....."

fi

# echo $index

# index=`expr $index + 1`

done

因为有很多脚本,有些是用Python2运行的,有些是用Python3运行的,因此对Python2和Python3(我设置的本机Pythone3命令为ppython3)分别写了函数。 函数中还用一个curl访问了一个短信通知接口,当程序重启后会进行短信通知。 把此脚本添加到 crontab 任务中,每5分钟运行检测一次即可。

待完善对程序是否启动成功没有加以判断,默认是启动成功的。

必须保证在 base_path 路径下要监控的Python脚本文件是唯一的,否则无法正确找出其所在路径。

注意

此脚本需要用命令source 脚本.sh 来执行,否则 cd ${pro_path%/*} 不会执行成功。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值