wjtx_crossserver/bin/startup.sh
aozhiwei 3b15096b51 1
2020-02-01 20:01:07 +08:00

37 lines
1.4 KiB
Bash
Executable File

#!/bin/sh
ulimit -HSn 65534
APP_HOME=$(cd $(dirname $0)/..; pwd)
echo "APP_HOME : $APP_HOME"
cd $APP_HOME
mkdir -p ${APP_HOME}/logs #创建日志目录
PID_FILE="$APP_HOME/logs/app.pid"
JAR_NAME="$APP_HOME/lib/game-cross-1.0.jar"
JAVA_OPTS="-server -Xms512m -Xmx512m -Xmn128m -XX:SurvivorRatio=4 -XX:InitiatingHeapOccupancyPercent=75"
JAVA_OPTS="$JAVA_OPTS -XX:+UseParNewGC -XX:+UseConcMarkSweepGC"
JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:+HeapDumpOnOutOfMemoryError -Xloggc:logs/flash_gc_$(date +"%Y%m%d%H%M").log"
LOG4J2_FILE="$APP_HOME/conf/log4j2.xml"
echo "Using APP_HOME: $APP_HOME" > ${APP_HOME}/logs/app.out
echo "Using JAVA_OPTS: $JAVA_OPTS" >> ${APP_HOME}/logs/app.out
echo "Using PID_FILE: $PID_FILE" >> ${APP_HOME}/logs/app.out
#查询是否有进程已经执行
echo "查询是否有进程已经执行"
if [ -e $PID_FILE ]; then
echo "prepare kill pid `cat $PID_FILE`"
kill -15 `cat $PID_FILE`
echo "killed pid `cat $PID_FILE`"
rm $PID_FILE
else
echo "$PID_FILE not exist"
fi
echo "检索完毕"
#启动程序
java -jar $JAVA_OPTS -Dlog4j2.contextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector -Dlog4j.configurationFile=$LOG4J2_FILE $JAR_NAME >> ${APP_HOME}/logs/app.out 2>&1 &
echo $! > $PID_FILE
echo "启动服务器成功"