自动监控java程序如果死掉自动启动

64次阅读
没有评论

# 定义你的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命令或者其他定时执行方法,我这里用的宝塔,添加一下就可以。

正文完
 
评论(没有评论)