这篇文章主要介绍“Java程序启动脚本startup.sh怎么编写”,在日常操作中,相信很多人在Java程序启动脚本startup.sh怎么编写问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java程序启动脚本startup.sh怎么编写”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
#!/bin/sh
#当前脚本所在的相对路径
HOME=$(dirname $0)
echo HOME=$HOME
#当前脚本所在的绝对路径
BIN_FOLDER=$(cd "$(dirname "$0")";pwd)
echo $BIN_FOLDER
#java命令的绝对路径
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
#设置内存大小
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"
#设置日期
CURR_TIME=$(date "+%Y%m%d: %H%M%S")
echo CURR_TIME=$CURR_TIME
#输出GC情况
JAVA_OPTS="$JAVA_OPTS -verbose:gc"
#输出详细的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"
#当JVM发生OOM时,自动生成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
#设置rmi地址
JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=$RMI_HOST"
# 允许远程监控
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"
# 设置调试端口
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
#第一个参数为1时,前台运行
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
到此,关于“Java程序启动脚本startup.sh怎么编写”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/woniuyi/blog/4631449