diff --git a/bin/shutdown.sh b/bin/shutdown.sh new file mode 100755 index 0000000..24908cd --- /dev/null +++ b/bin/shutdown.sh @@ -0,0 +1,34 @@ +#!/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..075647e --- /dev/null +++ b/bin/startup.sh @@ -0,0 +1,34 @@ +#!/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/global-server-1.0.jar" +JAVA_OPTS="-server -Xms512m -Xmx512m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:SurvivorRatio=4 -XX:InitiatingHeapOccupancyPercent=75" +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 "启动服务器成功"