#!/usr/bin/env bash BASE_DIR=$(pwd) LIB="${BASE_DIR}/lib/" JAVA_OPTS=" -Xmx2048m -XX:PermSize=64m -XX:MaxPermSize=512m -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:logs/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=1 -XX:GCLogFileSize=1024k -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=logs/mtdperf.hprof -server -Dfile.encoding=UTF-8" START_CLASS="com.abc.cde.aaaserver" nohup java ${JAVA_OPTS} -server -classpath "${LIB}/*:${LIB}/droolsRuntime/*:eiServer.jar" ${START_CLASS} &
若是用-jar,就不能用-cp(-classpath)java
#!/bin/sh BASE_DIR=$(pwd) LIB="${BASE_DIR}/lib/" JAVA_OPTS=" -Xmx2048m -XX:PermSize=64m -XX:MaxPermSize=512m -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:logs/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=1 -XX:GCLogFileSize=1024k -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=logs/mtdperf.hprof -server -Dfile.encoding=UTF-8" START_CLASS="com.tencent.bugly.EiServer" echo ${LIB} for libfile in ${LIB}/*.jar ; do if [ -f $libfile ] ; then CLASSPATH=$libfile:${CLASSPATH} fi done for libfile in ${BASE_DIR}/*.jar ; do if [ -f $libfile ] ; then CLASSPATH=$libfile:${CLASSPATH} fi done CLASSPATH=${BASE_DIR}:${CLASSPATH} nohup "java" ${JAVA_OPTS} -server -cp ${CLASSPATH} ${START_CLASS} &
使用nohup是爲了不帳戶註銷發送的hup信號,會致使該帳戶調用的程序註銷,使用nohup會忽略此信號。bash
語句最後的&表示該進程在後臺運行 spa