#!/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服务自动监控拉起脚本

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

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