# 定义你的Java进程标识(根据主类或jar文件名)
PROCESS_IDENTIFIER="system.jar"
# 定义Java应用启动命令
JAVA_START_COMMAND="nohup java -XX:+UseG1GC -Xms200m -Xmx400m -Dfile.encoding=utf-8 -Dspring.profiles.active=prod -jar /mz/jeecg/system.jar > /mz/jeecg/log/system.log 2>&1 &"
while true; do
# 使用`pgrep`命令查找与标识符匹配的进程
JAVA_PID=$(pgrep -f "$PROCESS_IDENTIFIER")
# 检查是否找到进程
if [ -z "$JAVA_PID" ]; then
echo "$(date) : Java process '$PROCESS_IDENTIFIER' is not running. Starting it now..."
# 启动Java应用
eval "$JAVA_START_COMMAND"
echo "Java process started."
else
echo "$(date) : Java process '$PROCESS_IDENTIFIER' (PID: $JAVA_PID) is already running."
fi
# 等待1分钟再次检查
sleep 60
done
然后使用系统自带的cron命令或者其他定时执行方法,我这里用的宝塔,添加一下就可以。
正文完
发表至: 未分类
2024-02-06