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

在Linux实时监控某个应用是否运行,未运行,执行运行命令

1、shell脚本(每隔30秒检测一次)

脚本要注意的地方是:在Nodepad++编辑的时候要使用Unix(LF)格式,避免在Linux无法执行命令

#!/bin/bash# RabbitMQ进程名称(可能需要根据你的安装进行调整)  
RABBITMQ_PROCESS_NAME="beam.smp"  
# RabbitMQ启动命令的路径  
RABBITMQ_START_CMD="/path/to/rabbitmq-server"  
# 日志文件路径  
LOG_FILE="/path/to/rabbitmq-server.log"  while true; do  # 检查RabbitMQ进程是否存在  if ! pgrep -x "$RABBITMQ_PROCESS_NAME" > /dev/null; then  echo "$(date): RabbitMQ process not found, attempting to start..." >> $LOG_FILE  # 尝试启动RabbitMQ服务器,并将输出重定向到日志文件  nohup $RABBITMQ_START_CMD >> $LOG_FILE 2>&1 &  echo "$(date): RabbitMQ started in background." >> $LOG_FILE  else  # (可选)记录RabbitMQ正在运行的日志  echo "$(date): RabbitMQ process is running." >> $LOG_FILE  fi  # 等待30秒  sleep 30  
done

2、设置为可执行文件,添加权限

chmod +x check_rabbitmq.sh

3、执行命令

nohup ./check_rabbitmq.sh &

4、增加系统重启时就启动该脚本

1. 使用crontab@reboot功能

crontab(cron table)是Linux下用于设置周期性被执行的任务的工具。你可以通过添加一个@reboot条目来指定在系统启动时执行某个脚本。

  1. 打开当前用户的crontab文件:

  2. bash复制代码

  3. crontab -e
  4. 添加一行来指定你的脚本在系统重启时执行。假设你的脚本位于/path/to/check_rabbitmq.sh,并且该脚本具有执行权限(通过chmod +x /path/to/check_rabbitmq.sh设置):

  5. bash复制代码(特别注意,在写完脚本后要enter,否则crond服务无法识别,定时任务无法生效

    @reboot /path/to/check_rabbitmq.sh
  6. 保存并退出编辑器。cron服务会自动捕获到这个更改,并在下次系统重启时执行你的脚本。

  7. 重启 service crond restart

2. 使用systemd服务(推荐对于较新的系统)

如果你的系统使用systemd(大多数现代Linux发行版都使用),你可以创建一个systemd服务单元来管理你的脚本。

  1. 创建一个systemd服务文件。例如,在/etc/systemd/system/目录下创建一个名为check-rabbitmq.service的文件:

  2. bash复制代码

    sudo nano /etc/systemd/system/check-rabbitmq.service
  3. 在文件中添加以下内容(根据你的脚本路径和需求调整):

  4. ini复制代码

    [Unit]
    Description=Check RabbitMQ Service
    After=network.target
    [Service]
    Type=simple
    ExecStart=/home/user/check_rabbitmq.sh
    [Install]
    WantedBy=multi-user.target
  5. 启用并启动服务:

  6. bash复制代码

  7. sudo systemctl enable check-rabbitmq.service
    sudo systemctl start check-rabbitmq.service

    这样,每次系统启动时,systemd都会自动启动你的check_rabbitmq.sh脚本。

相关文章:

在Linux实时监控某个应用是否运行,未运行,执行运行命令

1、shell脚本(每隔30秒检测一次) 脚本要注意的地方是:在Nodepad编辑的时候要使用Unix(LF)格式,避免在Linux无法执行命令 #!/bin/bash# RabbitMQ进程名称(可能需要根据你的安装进行调整) RABBITMQ_PROCE…...

Serilog文档翻译系列(六) - 可用的接收器、增强器、格式化输出

01、提供的接收器 Serilog 使用接收器将日志事件以各种格式写入存储。许多接收器由更广泛的 Serilog 社区开发和支持;可以通过在 NuGet 上搜索 serilog 标签找到。 02、增强器 日志事件可以通过多种方式增强属性。通过 NuGet 提供了一些预构建的增强器&#xff…...

傅里叶级数在机器人中的应用(动力学参数辨识)

B站首发!草履虫都能看懂的【傅里叶变换】讲解,清华大学李永乐老师教你如何理解傅里叶变换,辨清美颜和变声原理,!!_哔哩哔哩_bilibiliB站首发!草履虫都能看懂的【傅里叶变换】讲解,清…...

前端框架Vue、React、Angular、Svelte对比

在对比 React、Vue.js、Angular 和 Svelte 时,除了在高层次的特性上有显著差异,它们在核心设计理念和底层实现机制上也有明显的不同。为了清晰地理解这些框架,我们可以从以下几个方面来分析它们的核心不同点和底层不同点。 1. 框架类型和设计…...

深度学习后门攻击分析与实现(二)

前言 在本系列的第一部分中,我们已经掌握了深度学习中的后门攻击的特点以及基础的攻击方式,现在我们在第二部分中首先来学习深度学习后门攻击在传统网络空间安全中的应用。然后再来分析与实现一些颇具特点的深度学习后门攻击方式。 深度学习与网络空间…...

boost 的lockfree 使用

boost 的lockfree 使用 // test.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <mutex> #include <memory> #include <condition_variable> #include <…...

基于Hexo个人博客界面优化

基于Hexo个人博客界面优化 怎么搭建个人博客 选择主题 经过多个对比&#xff0c;选择简单一点的的yilia 1.将主题文件下载解压到 你的博客目录的 themes下 下载yilia主题文件 2.改写配置 打开你的_config.yml #theme: landscape 这是原来的&#xff0c;改成下面这个 theme: yil…...

vue3+ts不能将类型“Timeout”分配给类型“null”不能将类型“Timeout”分配给类型number

在设置有setTimeout() 函数时&#xff0c;一般是需要进行清除计时器操作的&#xff1b; 常用的做法是定义一个全局变量timer&#xff0c;在onMounted或者有需要的地方进行赋值&#xff0c;在onBeforeUnmount进行clear&#xff0c;一般在定义timer变量时&#xff0c;使用 numbe…...

如何给多台Linux机器设置时间同步

文章目录 1&#xff0c;使用chrony时间同步服务1.1 修改chrony配置文件 2&#xff0c;使用ntpdate服务 1&#xff0c;使用chrony时间同步服务 Centos7默认已安装&#xff0c;另外基于centos7的统信OS&#xff0c;中科OS也会默认安装这个。如果你机器上没有这个服务&#xff0c…...

忘写return有什么现象?

使用C语言&#xff0c;一直觉得没有return无所谓&#xff0c;直到被制裁。。 参考&#xff1a; 非void函数缺失返回值导致crash或结果异常的分析 - 知乎 (zhihu.com) 可以分析出&#xff1a; 没有写return 的话&#xff0c;eax的内容是在预期之外的。 例如更新参考内容的解…...

大数据新视界 --大数据大厂之 Druid 实时数据分析平台在大数据中的应用

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...

MySQL --基本查询(下)

文章目录 3.Update3.1将孙悟空同学的数学成绩变更为 80 分3.2将曹孟德同学的数学成绩变更为 60 分&#xff0c;语文成绩变更为 70 分3.3将总成绩倒数前三的 3 位同学的数学成绩加上 30 分3.4将所有同学的语文成绩更新为原来的 2 倍 4.Delete4.1删除数据4.1.1删除孙悟空同学的考…...

vue3实现自定义主题色切换功能

目录 1.添加theme样式文件2.引入样式文件3.使用变量设置css样式4.设置主题样式5.切换方法 1.添加theme样式文件 文件内容如下&#xff1a; html[data-theme"light"]{--text-color: #000000;/* 写需要切换的样式 */ } html[data-theme"dark"]{--text-color…...

不懂性能测试,被面试官挂了...

性能测试旨在检查应用程序或软件在特定负载下工作时的响应性和稳定性&#xff0c;从而检测应用程序/软件在响应速度、可扩展性和稳定性方面是否达到预期的要求。 简而言之&#xff0c;性能测试目标就是为了识别并消除应用程序中的性能瓶颈。 本文将为大家详细介绍性能测试主要…...

JS逆向基础-谷歌浏览器调试技巧(详细)

概述 浏览器的调试工具在 JavaScript 逆向工程中&#xff0c;帮助开发者分析和理解代码执行流程、变量值及其变化&#xff0c;从而揭示隐藏逻辑和加密机制&#xff0c;为破解、修改或复现代码提供重要支持。 调试面板详解 谷歌浏览器的调试面板概览&#xff1a; 顶部操作栏 …...

那年我双手插兜,使用IPv6+DDNS动态域名解析访问NAS

估计有很多科技宅和我一样&#xff0c;会买一个NAS存储或者自己折腾刷一下黑群晖玩玩&#xff0c;由于运营商不给分配固定的公网IP&#xff0c;就导致我在外出的时候无法访问家里的NAS&#xff0c;于是远程访问常常受到IP地址频繁变动的困扰。为了解决这一问题&#xff0c;结合…...

CSS的弹性盒子模型(Flex box)

弹性盒子模型是CSS3的一种新的布局模式&#xff0c;弹性盒是一种当页面需要适应不同的屏幕大小以及设备类型时确保拥有合适的布局方式&#xff0c;引入弹性盒子模型的目的时提供更加有效的方式来对一个容器中的子元素进行排列&#xff0c;对齐和分配空白空间。 弹性盒子由弹性容…...

django drf 分页器

自定义分页器代码&#xff1a; from django.core.paginator import InvalidPage from django.core.paginator import Paginator as DjangoPaginator from django.utils.functional import cached_property from rest_framework.exceptions import NotFound from rest_framewor…...

SpringBoot整合JPA实现CRUD详解

SpringBoot版本是2.0以上(2.6.13) JDK是1.8 一、依赖 <dependencies><!-- jdbc --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jdbc</artifactId></dependency><!--…...

干部画像——精准辅助干部选拔的核心利器

干部画像&#xff0c;作为现代干部管理体系中的一项重要创新&#xff0c;已逐步成为精准辅助干部选拔的核心利器。通过综合运用多维度信息收集、系统化整理与科学化分析的方法&#xff0c;全面、客观、真实地勾勒出每位干部的综合素质与能力画像&#xff0c;为干部选拔工作提供…...

5大空间回收功能解决存储焦虑:Czkawka的极速扫描技术革命

5大空间回收功能解决存储焦虑&#xff1a;Czkawka的极速扫描技术革命 【免费下载链接】czkawka 一款跨平台的重复文件查找工具&#xff0c;可用于清理硬盘中的重复文件、相似图片、零字节文件等。它以高效、易用为特点&#xff0c;帮助用户释放存储空间。 项目地址: https://…...

MATLAB实时绘图卡顿?优化串口通信与图形刷新的几个实用技巧

MATLAB实时绘图性能优化&#xff1a;突破串口通信与图形刷新的瓶颈 当你在实验室里盯着屏幕上跳动的数据曲线&#xff0c;却发现它像老式幻灯片一样一卡一顿时&#xff0c;那种挫败感简直让人抓狂。特别是在处理高速ADC采样或长时间运行的实验时&#xff0c;MATLAB默认的绘图方…...

避坑指南:glmnet做lasso回归时分类变量的3个常见错误及解决方法

避坑指南&#xff1a;glmnet做lasso回归时分类变量的3个常见错误及解决方法 在生物信息学和临床数据分析领域&#xff0c;lasso回归因其出色的变量选择能力而广受欢迎。R语言中的glmnet包是实现lasso回归的利器&#xff0c;但许多初学者在处理分类变量时频频踩坑。本文将揭示三…...

IINA:macOS上最优雅的全能视频播放器终极指南

IINA&#xff1a;macOS上最优雅的全能视频播放器终极指南 【免费下载链接】iina 项目地址: https://gitcode.com/gh_mirrors/iin/iina 如果你在寻找一款既强大又美观的macOS视频播放器&#xff0c;IINA绝对是你的不二之选。这款基于mpv引擎的现代播放器&#xff0c;不仅…...

突破Windows权限限制:TrustedInstaller提权工具完全指南

突破Windows权限限制&#xff1a;TrustedInstaller提权工具完全指南 【免费下载链接】LeanAndMean snippets for power users 项目地址: https://gitcode.com/gh_mirrors/le/LeanAndMean 作为系统管理员或高级用户&#xff0c;你是否曾因"拒绝访问"而无法修改…...

Qwen3.5-35B-A3B-AWQ-4bit图文对话教程:如何利用上下文长度4096做长图分析

Qwen3.5-35B-A3B-AWQ-4bit图文对话教程&#xff1a;如何利用上下文长度4096做长图分析 1. 引言&#xff1a;当AI学会“看图说话” 想象一下&#xff0c;你拿到一张复杂的流程图、一张信息密集的仪表盘截图&#xff0c;或者一张包含大量文字和图表的长图。你不仅想知道图上有什…...

基于大数据技术的个性化图书推荐系统-大数据深度学习算法-含完整源码论文设计项目

博主介绍&#xff1a;&#x1f449;全网个人号和企业号粉丝40W,每年辅导几千名大学生较好的完成毕业设计&#xff0c;专注计算机软件领域的项目研发&#xff0c;不断的进行新技术的项目实战&#x1f448; ⭐️热门专栏推荐订阅⭐️ 订阅收藏起来&#xff0c;防止下次找不到 &am…...

MOS管LC震荡电路偏置电压调整全攻略:LTspice仿真与实测对比

MOS管LC震荡电路偏置电压调整全攻略&#xff1a;LTspice仿真与实测对比 在电子电路设计中&#xff0c;MOS管LC震荡电路因其结构简单、频率稳定而被广泛应用。然而&#xff0c;要让这种电路发挥最佳性能&#xff0c;偏置电压的精确调整往往成为工程师面临的最大挑战。本文将带您…...

避坑指南:用合成数据训练模型时最容易忽略的3个问题

避坑指南&#xff1a;用合成数据训练模型时最容易忽略的3个问题 在自动驾驶系统开发中&#xff0c;某团队曾用10万小时合成驾驶数据训练视觉模型&#xff0c;测试时准确率高达98%。但当模型首次接触真实道路时&#xff0c;却将夕阳下的刹车灯误识别为交通信号灯——这个价值24…...

手机号查询QQ技术解析与实战指南

手机号查询QQ技术解析与实战指南 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 问题&#xff1a;数字化时代的身份关联困境 在现代社会&#xff0c;手机号与QQ号作为重要的数字身份标识&#xff0c;其关联查询需求日益凸显。当用户…...