#!/bin/bash
while true
do
# 检查程序是否正在运行
pid=`ps -ef | grep javaServer | grep -v grep | awk '{print $2}'`
if kill -0 ${pid} > /dev/null 2>&1
then
echo "pid=${pid} is running"
sleep 60
else
# 执行重启命令
echo "javaServerStartUp is not running, restarting"
sh /data/jar/start.sh
sleep 30
fi
done
上述脚本会每隔 30 秒检查一次 javaserver 进程是否正在运行。如果未运行,则执行重启命令。在执行脚本之前,你需要先确认 javaserver 的启动命令,并修改脚本中的相应部分。
可以将该脚本保存为一个文件(例如 restart_oap.sh),并使用 nohup 命令后台运行:
nohup bash restart_oap.sh > /dev/null 2>&1 &
这样,即使你关闭终端窗口,脚本也会继续在后台运行,并定时监控重启 javaServer。