python 苹果手机自动重启_Linux下编写一个Python自动重启脚本
团队中有一大部分的监控任务都是自己来做的,这其中包括了很多脚本,主要是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%/*} 不会执行成功。
python 苹果手机自动重启_Linux下编写一个Python自动重启脚本相关推荐
- linux下python安装opencv库_Linux下怎么配置python和opencv
匿名用户 1级 2017-06-20 回答 以下说明在Linux下Python和OpenCV结合安装的过程,Python要使用OpenCV模块,则必须导入OpenCV提供的包,所以要提供Python支 ...
- python安装gdal包_linux下gdal的python包的安装
由于python包是从C++包编译出来的,所以需要先下载源码进行编译安装. 1. gdal下载 http://download.osgeo.org/gdal/CURRENT/ sudo ./confi ...
- 安装python环境与运行_linux下怎么安装python的运行环境
展开全部 1.2113linux下安装python3 a. 准备编译环境(环境如果不对的5261话,可能遇到各种问题,比如wget无法下4102载1653https链接的文件)1 2 yum grou ...
- python统计大小写字母个数_编写一个Python函数,它接受一个字符串并计算大写字母和小写字母的数量...
问题why this one doesn't work? 除了语法错误和运行时错误之外,您的代码逻辑还有很长的路要走.你实际上没有按问题所问的去做.您似乎正在尝试计算单个字符中的大写字符数.那是不正确 ...
- linux看python包的路径_linux下 彻底修改python的包/模块导入路径
python模式下,有时候需要导入 import某些模块或者包.明明这个模块/包是存在的,却提示导入错误,比如,"ImportError: No module named lxml&quo ...
- linux编写php,Linux 下编写一个 PHP 扩展
假设需求 开发一个叫做 helloWord 的扩展. 扩展里有一个函数,helloWord(). echo helloWord('Tom'); //返回:Hello World: Tom 本地环境 P ...
- python源码脚本实例_python编写一个会算账的脚本的示例代码
python算账脚本 1.假如小明卡里有10000元去商场买东西发现钱不够又向父母借了5000账单如下 2.以下脚本就能实现上面的运算 from time import strftime import ...
- python编写脚本教程_python编写一个会算账的脚本的示例代码
python算账脚本 1.假如小明卡里有10000元去商场买东西发现钱不够又向父母借了5000账单如下 2.以下脚本就能实现上面的运算 from time import strftime import ...
- 编写一个Python程序,计算任意圆锥体的体积和表面积。
编写一个Python程序,计算任意圆锥体的体积和表面积. import math r=float(input("半径是")) h=float(input("高是" ...
最新文章
- 计算机学win7画图,Win7系统自带画图工具如何打开?win7打开画图工具教程
- 20160115广州MVP线下聚会
- 2018最受欢迎机构公众号:亲爱的读者,请你为我们投票
- 007_停止动画或效果
- 如何建设移动 DevOps?
- 七大你可能不知道的 Chrome 使用技巧
- cacheAsBitmap = ‘true' 可以降低cpu,提高效率?
- vs2015提示中文
- 【每日算法Day 76】经典面试题:中序遍历的下一个元素,5大解法汇总!
- Thrift Server与Client
- Atitit 文件上传 架构设计 实现机制 解决方案 实践java php c#.net js javascript c++ python
- 字体主题宝库:25款很好看的液晶数字字体下载
- 一图搞清楚SRE的工作内容
- 2022-2027年中国股权众筹行业市场调研及未来发展趋势预测报告
- 简历准备(一)—— TPLink
- storm java 例子_Storm 运行例子
- 释疑:SI-RNTI,C-RNTI,P-RNTI,RA-RNTI,SPS-RNTI
- 01_邂逅vue3开发
- 夜产房:孕妈呼吸困难,三次吸氧,检查后发现,左肺几乎不见?
- Flash的破解与加密
热门文章
- 沟通技巧-《演讲的力量》书中的精髓:战略上藐视演讲,战术上重视它。
- C语言与木马恶意代码分析和360安全防护揭秘
- 程序开发中的(小数)精度缺失问题--学习记录
- Windows 7引导Ubuntu 13.10 双系统安装
- mybatis练习-获取拥有“普通用户”角色的所有用户信息,要求查询结果除了包含用户自身信息,还包括角色名和角色创建时间。
- Rumor CodeForces - 893C(并查集基本操作:维护连通块最值)
- oa系统对服务器的要求1000台,OA办公系统协同办公平台运行服务器最低配置要求...
- Vue中的 props 属性
- vue2知识点:组件的props属性、非props属性、props属性校验
- 五个程序员必要的在线绘图工具