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

news2024/10/26 15:13:06

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

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

#!/bin/sh
while true;
do
processExist=`ps aux | grep 进程的名字 | grep -v "grep" `
if [ -z $processExist ];then
   echo "proecss is restarted"
  /home/hzjj/auto_run.sh  # 启动程序的脚本所在的绝对路径
else
  echo "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 time

def 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 supervisorctl

help命令

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.coloradmin.cn/o/2210403.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android 未来可能支持 Linux 应用,Linux 终端可能登陆 Android 平台

近日,根据 android authority 的消息,Google 正在开发适用于 Android 的 Linux 终端应用,而终端应用可以通过开发人员选项启用,并将 Debian 安装在虚拟机中。 在几周前,Google 的工程师开始为 Android 开发新的 Termi…

2021年新版Go工程师大厂面试题Go面试题容器技术

Go面试题--容器技术 1、为什么需要 DevOps 在当今,软件开发公司在软件新版本发布方面,多尝试通过发布一系列以小的 特性改变集为目标的新软件版本,代替发布一个大特性改变集的新软件版本的 方式。这种方式有许多优点,诸如&#x…

分布式数据库的进度管理:TiDB 备份恢复工具 PiTR 的原理与实践

导读 对于一款企业级数据库产品而言,数据的安全性和可恢复性是至关重要的。PiTR(Point in Time Restore)作为 TiDB 备份工具的核心功能之一,提供了一种精细的数据恢复能力,允许用户将数据库集群恢复到过去的任意时间点…

通过多元蒙特卡罗模拟来预测股票价格的日内波动性

作者:老余捞鱼 原创不易,转载请标明出处及原作者。 写在前面的话: 日内价格波动对交易策略的重要性不言而喻,尤其是美跨式交易策略(The American straddle)。由于无法预测所有影响股价的因素&#x…

【原创】java+springboot+mysql法律咨询网系统设计与实现

个人主页:程序猿小小杨 个人简介:从事开发多年,Java、Php、Python、前端开发均有涉猎 博客内容:Java项目实战、项目演示、技术分享 文末有作者名片,希望和大家一起共同进步,你只管努力,剩下的交…

loadlocale.c:130: _nl_intern_locale_data: failed已放弃 (核心已转储)]问题

在进行交叉编译cortex-a9架构时,出现以上错误。 问题描述: 在使用 arm-none-linux-gnueabi-gdb 进行 Cortex-A9 架构交叉编译调试时,出现如下错误: arm-none-linux-gnueabi-gdb: loadlocale.c:130: _nl_intern_locale_data: As…

新型物联网电力数据采集器 智能网关通讯协议有哪些?

随着智能化技术的快速发展,电气监测与管理在各个域的应用愈发重要,在物联网(IoT)应用的发展中,网关扮演着至关重要的角色。它作为连接设备与云平台或数据中心的桥梁,负责数据的收集、处理和传输。网关不仅支…

鸿蒙开发之ArkUI 界面篇 三十四 容器组件Tabs二 常用属性

barPosition:位置开头或结尾,vertical 水平或者垂直,scrollable手势滑动切换,animationDuration 滑动动画时间。BarPosition.Start 效果如下图: BarPosition.End 效果如下图: 如果显示在左边,使用的是vertical属性,下图&#xff0…

Chrome(谷歌)浏览器 数据JSON格式美化 2024显示插件安装和使用

文章目录 目录 文章目录 安装流程 小结 概要安装流程技术细节小结 概要 没有美化的格式浏览器展示 美化之后效果图 安装流程 下载地址 https://github.com/gildas-lormeau/JSONVue 点击下载 下载成功,如图所示 解压文件 添加成功,如图所示 通过浏览器…

密码学算法概览大全

区块链密码学 目录 对称密码算法 1. 流密码2. 分组密码3. 对称密码算法小结4. 对称密码算法在区块链中的应用 非对称密码算法 1. RSA2. ECC3. 非对称密码算法小结4. 非对称密码算法在区块链中的应用 Hash函数 1. SHA2. RipeMD-1603. Hash函数在区块链中的应用 PKI 1. PKI组成2…

STM32——USART原理及应用

1.什么是USART? 1.1 基本概念 USART英文全称:universal asynchronous receiver and transmitter ,翻译过来就是:通用同步异步收/发器。USART是STM32内部集成的硬件外设,可根据数据寄存器的一个字节数据自动生成数据帧…

Python | Leetcode Python题解之第476题数字的补数

题目&#xff1a; 题解&#xff1a; class Solution:def findComplement(self, num: int) -> int:highbit 0for i in range(1, 30 1):if num > (1 << i):highbit ielse:breakmask (1 << (highbit 1)) - 1return num ^ mask

NVIDIA Bluefield DPU上的启动流程4个阶段分别是什么?作用是什么?

文章目录 Bluefield上的硬件介绍启动流程启动流程:eMMC中的两个存储分区:ATF介绍ATF启动的四个阶段:四个主要步骤:各个阶段依赖的启动文件一次烧录fw失败后的信息看启动流程综述Bluefield上的硬件介绍 本文以Bluefield2为例,可以看到RSHIM实际上是Boot相关的集合。也能看…

QT 连接SQL SEVER 之后无法读取浮点和整型

1、ODBC Driver 的版本要对应上。 if (!strDbDirPath.isEmpty())m_strDbDirPath strDbDirPath;m_strDatabaseName strDatabaseName;if (m_database.isOpen() || m_bConnected){qDebug() << QString("QODBC:已经连接成功&#xff01;") << "\n&quo…

八、Linux之实用指令

1、指定运行级别 1.1 基本介绍 运行级别说明 0 &#xff1a;关机 1 &#xff1a;单用户【找回丢失密码】 2&#xff1a;多用户状态没有网络服务&#xff08;用的非常少&#xff09; 3&#xff1a;多用户状态有网络服务&#xff08;用的最多&#xff09; 4&#xff1a;系统未使…

《Linux运维总结:基于ARM64+X86_64架构CPU使用docker-compose一键离线部署mongodb 7.0.14容器版分片集群》

总结&#xff1a;整理不易&#xff0c;如果对你有帮助&#xff0c;可否点赞关注一下&#xff1f; 更多详细内容请参考&#xff1a;《Linux运维篇&#xff1a;Linux系统运维指南》 一、部署背景 由于业务系统的特殊性&#xff0c;我们需要面向不通的客户安装我们的业务系统&…

【自动驾驶汽车通讯协议】GMSL通信技术以及加串器(Serializer)解串器(Deserializer)介绍

文章目录 0. 前言1. GMSL技术概述2. 为什么需要SerDes&#xff1f;3. GMSL技术特点4.自动驾驶汽车中的应用5. 结论 0. 前言 按照国际惯例&#xff0c;首先声明&#xff1a;本文只是我自己学习的理解&#xff0c;虽然参考了他人的宝贵见解及成果&#xff0c;但是内容可能存在不准…

图解 微信开发者工具 小程序源码 调试、断点标记方法 , 微信小程序调试器,真机调试断点调试方法,小程序网络API请求调试方法 总结

在我们使用微信开发者工具进行微信小程序开发的时候&#xff0c;在这个微信开发者工具的代码编辑框里面我们是无法像使用vscode, idea等IDE工具时那样直接对代码打断点进行调试&#xff0c; 原因是小程序实际上他就是一个web浏览器应用的包装, 在其内部使用的还是类似chrome的…

mac 桌面版docker no space left on device

报错信息 docker pull镜像时报&#xff1a; failed to register layer: Error processing tar file(exit status 1): write /home/admin/oceanbase_bak/bin/observer: no space left on device 解决 增加 docker 虚拟磁盘大小。 调整完点击重启即可。

如何使用vscode的launch.json来debug调试

1、创建一个launch.json文件 选择Python Debugger&#xff0c;再选择Python文件&#xff0c;创建处理如下 默认有下面五个参数 "name": "Python Debugger: Current File","type": "debugpy","request": "launch"…