写一个shell服务自动监控拉起脚本
#!/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 &
原文地址: http://www.cveoy.top/t/topic/brNH 著作权归作者所有。请勿转载和采集!