sh脚本启动java程序

来源:互联网 发布:淘宝论坛怎么发帖子 编辑:程序博客网 时间:2024/06/07 06:44
#start.shMAIN_CLASS=$1#函数声明usage() {    echo "please set startup Args String"    exit 1;}#注意中括号两边需要加空格,$#表示传入参数的个数,-lt表示转义的小于号,在右括号外边有个分号;if [ $# -lt 3 ]; then#调用函数    usagefi#等号做相等判断if [ `whoami` == "root" ]; then  echo DO NOT use root user to launch me.  exit 1;fi# $0脚本名字cd `dirname $0`/..BASE_DIR="`pwd`"# 在这里执行echo "$BASE_DIR" 会打印绝对路径,配置文件保存在CONF_DIR目录下CONF_DIR=$BASE_DIR/conf# cat 显示文件内容export JAVA_HOME=`cat $BASE_DIR/bin/javaHome`export PATH=$JAVA_HOME/bin:$PATHexport LANG=zh_CN.GB18030# 如果机器和OS支持IPV4和IPV6,JAVA程序倾向于IPV4,那么应用程序使用IPV4JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true"JAVA_OPTS="$JAVA_OPTS -server -Xms512m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=64m -Xss1m"JAVA_OPTS="$JAVA_OPTS -XX:NewSize=128m -XX:MaxNewSize=128m"# 使用CMSJAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC"# gc日志配置JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDetails"JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDateStamps"JAVA_OPTS="$JAVA_OPTS -XX:+PrintHeapAtGC"JAVA_OPTS="$JAVA_OPTS -XX:+PrintClassHistogram"# gc日志JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError"JAVA_OPTS="$JAVA_OPTS -Xloggc:$BASE_DIR/logs/gc-$TASK_NAME.log"# 开启远程调试端口#JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,address=8181,server=y,suspend=y"# 判断文件是否存在 -fif [ ! -f "$JAVA_HOME/bin/java" ]; then  echo "请设置JAVA_HOME"  exit 1;fiLOG_PATH=$BASE_DIR/logsSTART_LOG=$LOG_PATH/start.log#init logPath and logFile, 判断是否存在目录if [ ! -d "$LOG_PATH" ]; then                                                                                                                                                 mkdir $LOG_PATHfi # 启动的日志文件if [ ! -f "$START_LOG" ]; then  #等于 mk 创建文件touch $START_LOGfi#Start Java Process#标准的输入,输出和错误输出分别表示为STDIN,STDOUT,STDERR,也可以用0,1,2来表示。#command 2>&1 | ...: command的错误重定向到标准输出,错误和标准输出都通过管道传给下个命令。# $ cat test.sh >> test 2>&1 把文件test.sh的内容append到文件test#最后一个&表示当前shell到后台运行,类似于nohup #如果不加&使用控制台调用自己的脚本,脚本调用java java相当于终端的孙进程,关闭控制台,脚本进程和java进程都退出了$JAVA_HOME/bin/java $JAVA_OPTS -classpath $CONF_DIR:$CLASSPATH:. $MAIN_CLASS >> $START_LOG 2>&1 &

原创粉丝点击