ubuntu服务器监控程序崩溃自动重启

server/2024/10/15 16:02:05/

环境:监控程序运行情况分为两种情况,一种带界面,一种控制台程序,带界面程序采用脚本监控方式,不带界面采用Supervisor工具监控。

1. 自动重启带界面程序:

#!/bin/sh
while true;
do
processExist=`ps aux | grep 进程的名字 | grep -v "grep" `
if [ -z $processExist ];thenecho "proecss is restarted"/home/hzjj/auto_run.sh  # 启动程序的脚本所在的绝对路径
elseecho "process is running"
fi
sleep 60 #每 60s检查一次
done

2. 自动重启控制台程序:

安装supervisor:

sudo apt update && sudo apt install supervisor

检查其状态:

sudo systemctl status supervisor

配置启动文件:

sudo touch /etc/supervisor/conf.d/自己名字.conf

文件内容:

[program:自己名字-service]
command=python 自己名字.py
autostart=true
autorestart=true
startretries=3
stderr_logfile=/var/log/自己名字.err.log
stdout_logfile=/var/log/自己名字.out.log

测试程序: 自己名字.py :

import timedef print_with_timestamp(data):while True:timestamp = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())print(f"[{timestamp}] {data}")time.sleep(1)  # 等待一秒# 示例数据
data_to_print = "这是每秒打印一次的数据"
print_with_timestamp(data_to_print)

启动命令:

sudo supervisorctl reread sudo supervisorctl update

管理程序命令:

sudo supervisorctlhelp命令

web界面:

sudo vim /etc/supervisor/supervisord.conf文件内容:
[inet_http_server]
port=*:9001
username=admin
password=admin

参考链接:https://blog.csdn.net/zhumin19910702/article/details/127756095#:~:text=%E4%BA%8C%E3%80%81Supervisor%E5%AE%89%E8%A3%85%E4%B8%8E%E9%85%8D%E7%BD%AE%201%201.%E5%AE%89%E8%A3%85%20sudo%20apt%20update%20%26%26%20sudo,%E6%82%A8%E7%8E%B0%E5%9C%A8%E5%8F%AF%E4%B


http://www.ppmy.cn/server/132257.html

相关文章

Android开发之Broadcast Receive(广播机制)其实开发如此简单

什么是BroadcastReceiver BroadcastReceiver(广播接收器)用于响应来自其他应用程序或者系统的广播消息。这些消息有时被称为事件或者意图。本质上来讲BroadcastReceiver是一个全局的监听器,隶属于Android四大组件之一。 使用场景 1、 不同…

linux 开发换基础部署脚本

#springboot 打包 mvn install mvn clean package #指定环境 mvn clean package -P dev #线上发布 #启动脚本 start.sh nohup java -jar me-0.0.1-SNAPSHOT.jar --spring.profiles.activedev & # 停止脚本 stop.sh PID$(ps -ef | grep me-0.0.1-SNAPSHOT.jar | grep -v gr…

MATLAB代码※二维下的WIFI定位例程(4个Wi-Fi锚点,附下载链接)

本文给出一个关于WIFI定位的MATLAB代码的讲解、例程代码分享、运行结果展示和解读。 定位的环境是二维平面,设置四个WIFI基站(路由器等),通过测量WIFI信号的强度来进行定位 涉及的技术有:RSSI信号衰减、三点法 文章目录 WIFI定位优势:应用场景:部分源代码代码运行运行方…

MYSQL架构、执行过程和顺序

MYSQL架构、执行过程和顺序 一、前言 1.1、说明 就MySQL的架构,以及执行过程、sql执行顺序,以及一些相关学习分享内容。 在参考文章的基础上,会增加自己的理解、看法,希望本文章能够在您的学习中提供帮助。 如有错误的地方&a…

Reality Capture 软件安装 附下载链接

Reality Capture 软件安装 文章目录 Reality Capture 软件安装一、Reality Capture v1.4汉化版安装包下载并解压二、Epic Games Launcher安装三、设置路径并安装![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/f077210990674d9fa9c10b52338b52fe.png)四、启动Epic Ga…

基于Java+SpringBoot+Uniapp的博客系统设计与实现

项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…

【如何学习计组】——基本概念与原理

🐟作者简介:一名大三在校生,喜欢编程🪴 🐡🐙个人主页🥇:Aic山鱼 🐠WeChat:z7010cyy 🦈系列专栏:🏞️ 前端-JS基础专栏✨前…

TCP(Transmission Control Protocol,传输控制协议)整理

TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的传输协议,它是OSI(Open System Interconnection,开放式系统互联)模型中的第四层协议,通常使用于网络中的…