当前位置: 首页 > news >正文

linux应用

检查Python程序未运行则重新运行

entity_program定时杀掉进程重新运行
match_program定时检查是否运行,未运行则启动
(注意echo时间时,date和+中间要有空格)

#!/bin/bash# 检测的Python程序名称
entity_program="entity.py"
match_program="match.py"# 获取Python进程的PID
PID=$(pgrep -f $entity_program)
if [[ -n $PID ]]
thenecho $(date +"%Y-%m-%d %H:%M:%S") "Python程序 $entity_program 在运行中.正在kill"kill $PIDecho "killed, starting ..."# cd /home/xxx/match/service# /opt/conda/envs/match/bin/python3.7 entity.py >/dev/null 2>&1 &echo "已启动"
elseecho $(date +"%Y-%m-%d %H:%M:%S") "Python程序 $entity_program 没有在运行,正在重启..."# 重启Python程序的命令,例如:# cd /home/xxx/match/service# /opt/conda/envs/match/bin/python3.7 entity.py >/dev/null 2>&1 &echo "已启动"
fiif pgrep -f "$match_program" >/dev/null
thenecho $(date +"%Y-%m-%d %H:%M:%S") "Python程序 $match_program 在运行中."
elseecho $(date +"%Y-%m-%d %H:%M:%S") "Python程序 $match_program 没有在运行,正在重启..."# 重启Python程序的命令,例如:# cd /home/xxx/match/service# /opt/conda/envs/match/bin/python3.7 match.py >/dev/null 2>&1 &echo "已启动"
fi
50 11 * * * /home/xxx/check/run.sh >> /home/xxx/check/logfile.log 2>&1
30 0 * * * /bin/bash /data/dgcy_code/dist/algorithm_check.sh >> /data/dgcy_code/dist/algorithm_check.log 2>&1 &
# 完整路径数组
programs=("/data/dgcy_code/dist/python_new")# 循环读取数据中的文件名
for pg in "${programs[@]}"
do# 获取文件名filename=$(basename "$pg")pathname=$(dirname "$pg")PID=$(pgrep -f $filename)if [[ -n $PID ]]thenecho $(date +"%Y-%m-%d %H:%M:%S") "Python程序$filename在运行中.正在kill"kill $PIDecho "killed, starting ..."cd $pathnamenohup ./$filename >/dev/null 2>&1 &echo "已启动"elseecho $(date +"%Y-%m-%d %H:%M:%S") "Python程序$filename没有在运行,正在重启..."# 重启Python程序的命令,例如:cd $pathnamenohup ./$filename >/dev/null 2>&1 &echo "已启动"fi
done
http://www.lryc.cn/news/460516.html

相关文章:

  • 【千库网-注册安全分析报告】
  • 【LwIP源码学习3】TCP协议栈分析——数据接收流程
  • 【bug】finalshell向远程主机拖动windows快捷方式导致卡死
  • 基于SpringBoot剧本杀管理系统 【附源码】
  • Linux 命令 —— grep、tail、head、cat、more、less(查看日志常用命令)
  • 知识见闻 - 美国连线杂志
  • 多线程的状态及切换流程
  • [Python学习日记-47] Python 中的系统调用模块—— os 与 sys
  • Linux系统——lvm逻辑卷
  • 一键快捷回复软件助力客服高效沟通
  • 初识Linux之指令(二)
  • 在深度学习中,Epoch、迭代次数、批次大小(Batch Size)和学习速率(Learning Rate)是影响模型训练效果的重要超参数。
  • 研究学习的循环递进三段论
  • Linux下如何将代码提交至Gitee
  • 【MATLAB源码-第181期】基于matlab的32QAM调制解调系统频偏估计及补偿算法仿真,对比补偿前后的星座图误码率。
  • 24年856电子线路专业课考场回忆
  • el-table表格里面有一条横线
  • QT通过QLocalSocket和QSharedMemory实现进程间通信
  • Python中的数据可视化艺术:用Matplotlib和Seaborn讲故事
  • python机器学习(手写数字识别)
  • 如何针对项目中的技术难点准备面试?——黑马点评为例
  • ARP欺骗的多种手法
  • HCIA——one
  • 【vue】⾃定义指令+插槽+商品列表案例
  • 多线程——线程的等待通知
  • 模态与非模态的对话框
  • C语言练习
  • CyberRt实践之Hello Apollo(Apollo 9.0版本)
  • 【JavaScript】LeetCode:61-65
  • 【SpringAI】(一)从实际场景入门大模型——适合Java宝宝的大模型应用开发