#!/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
El script anterior comprueba cada 30 segundos si el proceso del servidor Java se está ejecutando. Si no se está ejecutando, ejecute el comando de reinicio. Antes de ejecutar el script, debe confirmar el comando de inicio del servidor java y modificar la parte correspondiente del script.
Este script se puede guardar como un archivo (como restart_oap.sh) y ejecutarse en segundo plano con el comando nohup:
nohup bash restart_oap.sh > /dev/null 2>&1 &
De esta manera, incluso si cierra la ventana de la terminal, el script continuará ejecutándose en segundo plano y monitoreará y reiniciará regularmente javaServer.