From 3b15096b51d33483d0c8239461e2cb1145e98493 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 1 Feb 2020 20:01:07 +0800 Subject: [PATCH] 1 --- bin/shutdown.sh | 35 +++++++++++++++++++++++++++++++++++ bin/startup.sh | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100755 bin/shutdown.sh create mode 100755 bin/startup.sh diff --git a/bin/shutdown.sh b/bin/shutdown.sh new file mode 100755 index 0000000..432f419 --- /dev/null +++ b/bin/shutdown.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +APP_HOME=$(cd $(dirname $0)/..; pwd) +echo "APP_HOME : $APP_HOME" + +cd $APP_HOME + +PID_FILE="$APP_HOME/logs/app.pid" +echo "PID_FILE : $PID_FILE" + +if [ -e $PID_FILE ]; then + count=0 + pid=`cat $PID_FILE` + echo "prepare kill pid $pid" + kill -15 $pid + count=`ps -ef | grep $pid | grep -v "grep" | wc -l` + echo "count=$count" + + i=1 + for(( i=1;i<100;i++)) + do + count=`ps -ef | grep $pid | grep -v "grep" | wc -l` + if [ $count -gt 0 ]; then + echo sleep $i second + sleep 1 + else + #若进程已经关闭,则跳出循环 + echo "break" + rm $PID_FILE + break + fi + done +else + echo "$PID_FILE not exist" +fi diff --git a/bin/startup.sh b/bin/startup.sh new file mode 100755 index 0000000..d2c1f15 --- /dev/null +++ b/bin/startup.sh @@ -0,0 +1,36 @@ +#!/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 "启动服务器成功"