溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java程序啟動(dòng)腳本startup.sh怎么編寫

發(fā)布時(shí)間:2021-11-24 15:47:12 來源:億速云 閱讀:575 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“Java程序啟動(dòng)腳本startup.sh怎么編寫”,在日常操作中,相信很多人在Java程序啟動(dòng)腳本startup.sh怎么編寫問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Java程序啟動(dòng)腳本startup.sh怎么編寫”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

#!/bin/sh


#當(dāng)前腳本所在的相對(duì)路徑
HOME=$(dirname $0)
echo HOME=$HOME
#當(dāng)前腳本所在的絕對(duì)路徑
BIN_FOLDER=$(cd "$(dirname "$0")";pwd)
echo $BIN_FOLDER


#java命令的絕對(duì)路徑
JAVA="$JAVA_HOME/bin/java"


export $2
if [ -z "$scale" ]; then
    scale=$2
fi
if [ -z "$MAX_MEM" ]; then
 MAX_MEM=512m
 if [ "$scale"x = "medium"x ]; then
  MAX_MEM=4096m
 fi
 if [ "$scale"x = "standard"x ]; then
  MAX_MEM=8192m
 fi
fi


#設(shè)置內(nèi)存大小
JAVA_OPTS="-Xms512m -Xmx$MAX_MEM"


PATH=$JAVA_HOME/bin:$PATH
# jar 文件所在目錄
JAR_FILE="$HOME/xxx.jar"


# 開啟debug模式
JAVA_OPTS="$JAVA_OPTS -Ddebug.mode=true"


#設(shè)置日期
CURR_TIME=$(date "+%Y%m%d: %H%M%S")
echo CURR_TIME=$CURR_TIME
#輸出GC情況
JAVA_OPTS="$JAVA_OPTS -verbose:gc"
#輸出詳細(xì)的GC情況
JAVA_OPTS="$JAVA_OPTS -XX:+PrintGC"
JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDetails"
JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDateStamps"
#將GC日志輸出到指定文件中
JAVA_OPTS="$JAVA_OPTS -Xloggc:./works/logs/gc.log"


#當(dāng)JVM發(fā)生OOM時(shí),自動(dòng)生成DUMP文件
JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError"
#DUMP文件地址
JAVA_OPTS="$JAVA_OPTS -XX:HeapDumpPath=./works/logs/$CURR_TIME.hprof"


RMI_HOST=10.92.5.14
if [ -z "$RMI_HOST" ]; then
 RMI_HOST=localhost
fi
#設(shè)置rmi地址
JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=$RMI_HOST"
# 允許遠(yuǎn)程監(jiān)控
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=21031"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"


# 設(shè)置調(diào)試端口
JAVA_OPTS="$JAVA_OPTS -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8770,server=y,suspend=n"


echo ===============================================================
echo HOME= $HOME
echo PATH=$PATH
echo JAVA= $JAVA
echo JAVA_OPTS= $JAVA_OPTS
echo CLASS_PATH= $CLASS_PATH
echo =================================================================
echo WORK_DIR= $HOME
echo JAVA_HOME= $JAVA_HOME
echo JAVA_CMD= $JAVA $JAVA_OPTS -jar $JAR_FILE


#第一個(gè)參數(shù)為1時(shí),前臺(tái)運(yùn)行
FRONT_RUN=$1
if [ "$FRONT_RUN"x = "1"x ]; then
 $JAVA $JAVA_OPTS -Dhudson.util.ProcessTree.disable=true -jar $JAR_FILE
else
 $JAVA $JAVA_OPTS -Dhudson.util.ProcessTree.disable=true -jar $JAR_F

到此,關(guān)于“Java程序啟動(dòng)腳本startup.sh怎么編寫”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI