#!/bin/bash

定义要监控的服务名称

SERVICE_NAME='my-app'

定义服务启动脚本路径

SERVICE_START_SCRIPT='/path/to/start.sh'

定义监控间隔时间(单位:秒)

MONITOR_INTERVAL=5

循环监控服务状态

while true do # 检查服务是否已经启动 SERVICE_PID=$(ps aux | grep '$SERVICE_NAME' | grep -v 'grep' | awk '{print $2}') if [ ! -z '$SERVICE_PID' ] then echo '服务 $SERVICE_NAME 已经启动,PID 为 $SERVICE_PID' else # 如果服务未启动,则拉起服务 echo '服务 $SERVICE_NAME 未启动,正在尝试启动...' sh $SERVICE_START_SCRIPT fi # 等待指定时间后再次检查服务状态 sleep $MONITOR_INTERVAL done

注意:此脚本需要后台运行,建议使用 nohup 命令运行,例如:

nohup sh monitor.sh > /dev/null 2>&1 &

Shell 自动监控拉起服务脚本

原文地址: https://www.cveoy.top/t/topic/mU4P 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录