首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
软件与程序人生
›
DevOps与敏捷开发
›
在Linux及时监控某个应用是否运行,未运行,实行运行下 ...
返回列表
发新帖
在Linux及时监控某个应用是否运行,未运行,实行运行下令
[复制链接]
发表于 2026-1-15 23:42:09
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
1、shell脚本(每隔30秒检测一次)
脚本要注意的地方是:在Nodepad++编辑的时间要使用Unix(LF)格式,克制在Linux无法实行下令
#!/bin/bash
# RabbitMQ进程名称(可能需要根据你的安装进行调整)
RAB
BI
TMQ_PROCESS_NAME="beam.smp"
# RabbitMQ启动命令的路径
RAB
BI
TMQ_START_CMD="/path/to/rabbitmq-server"
#
日志
文件路径
LOG_FILE="/path/to/rabbitmq-server.log"
while true; do
# 检查RabbitMQ进程是否存在
if ! pgrep -x "$RAB
BI
TMQ_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条目来指定在体系启动时实行某个脚本。
打开当前用户的crontab文件:
bash复制代码
crontab -e
添加一行来指定你的脚本在体系重启时实行。假设你的脚本位于/path/to/check_rabbitmq.sh,而且该脚本具有实行权限(通过chmod +x /path/to/check_rabbitmq.sh设置):
bash复制代码(特别注意,在写完脚本后要enter,否则crond服务无法辨认,定时使命无法收效)
@reboot /path/to/check_rabbitmq.sh
生存并退出编辑器。cron服务会自动捕捉到这个更改,并在下次体系重启时实行你的脚本。
重启 service crond restart
2. 使用systemd服务(保举对于较新的体系)
假如你的体系使用systemd(大多数当代Linux发行版都使用),你可以创建一个systemd服务单位来管理你的脚本。
创建一个systemd服务文件。比方,在/etc/systemd/system/目次下创建一个名为check-rabbitmq.service的文件:
bash复制代码
sudo nano /etc/systemd/system/check-rabbitmq.service
在文件中添加以下内容(根据你的脚本路径和需求调解):
ini复制代码
[Unit]
Description=Check RabbitMQ Service
After=network.target
[Service]
Type=simple
ExecStart=/home/user/check_rabbitmq.sh
[Install]
WantedBy=multi-user.target
启用并启动服务:
bash复制代码
sudo systemctl enable check-rabbitmq.service
sudo systemctl start check-rabbitmq.service
如许,每次体系启动时,systemd都会自动启动你的check_rabbitmq.sh脚本。
回复
使用道具
举报
返回列表
浏览过的版块
数据仓库与分析
SQL-Server
物联网
分布式数据库
云原生
主机安全
Oracle
向量数据库
Java
莱莱
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表