天天看點

Java 程序保活方式

目錄

第一種方式:Java Service Wrapper

第二種:編寫Shell定時任務腳本

第三種方式:使用Monit搭建監控系統

第四種方式:用Supervisord管理程序

第一種方式:Java Service Wrapper

使用社群版本就可以了

下載下傳位址:https://wrapper.tanukisoftware.com/doc/english/download.jsp

詳細使用見:https://www.cnblogs.com/happyday56/p/4204090.html

第二種:編寫Shell定時任務腳本

也就是shell中的crontab定時任務,詳細使用見:https://www.cnblogs.com/huxinga/p/7779433.html

Shell腳本樣例:

#!/bin/sh
export JAVA_HOME=/usr/local/jdk1.8.0_161
export JRE_HOME=$JAVA_HOME/jre

## service name
SERVICE_NAME=thingModel.service-0.0.1-SNAPSHOT
SERVICE_JAR=thingModel.service-0.0.1-SNAPSHOT.jar
SERVICE_DIR=/home/thingModel/dubbo
JAR_NAME=$SERVICE_NAME\.jar
PID=$SERVICE_NAME\.pid    

        ## thinkiot.lenovo.service.jar
        P_ID=`ps -ef | grep -w "$SERVICE_NAME" | grep -v "grep" | awk '{print $2}'`
        if [ "$P_ID" == "" ]; then
            echo "=== $SERVICE_NAME process not exists or stop success"
                  nohup $JRE_HOME/bin/java/bin/java -jar  -Xmx512m -Xms512m $SERVICE_JAR &
        else
            echo "=== $SERVICE_NAME process pid is:$P_ID"
        fi       
exit 0
           

第三種方式:使用Monit搭建監控系統

https://blog.csdn.net/zzti_erlie/article/details/80367997

第四種方式:用Supervisord管理程序

https://blog.csdn.net/jek123456/article/details/76985154