#!/bin/bash
## java env
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_181
export JRE_HOME=$JAVA_HOME/jre
## service name
APP_NAME=iotmp-server
APP_VERSION=1.0.0
SERVER_IP=47.111.190.163
cd `dirname $0`
SERVICE_DIR=`pwd`
SERVICE_NAME=$APP_NAME-$APP_VERSION
JAR_NAME=$SERVICE_NAME\.jar
PID=$SERVICE_NAME\.pid
PIDS=`ps -ef | grep -w "$SERVICE_NAME" | grep -v "grep" |awk '{print $2}'`
if [ -n "$PIDS" ]; then
echo "ERROR: The $SERVICE_NAME already started!"
echo "PID: $PIDS"
exit 1
fi
echo -e "Starting the $SERVICE_NAME ...\c"
nohup $JRE_HOME/bin/java -jar -Xmx1g -Xms1g -Xmn500m -XX:PermSize=300M -XX:MaxPermSize=300M -Xss256K -XX:+DisableExplicitGC -XX:SurvivorRatio=2 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=4 -XX:+CMSClassUnloadingEnabled -XX:LargePageSizeInBytes=128M -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=55 -XX:+PrintClassHistogram -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -Xloggc:logs/gc.log -Dio.netty.leakDetectionLevel=advanced -Dio.netty.recycler.maxCapacity=0 -Dcom.sun.management.jmxremote.port=55556 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=$SERVER_IP $JAR_NAME >/dev/null 2>&1 &
echo "OK!"
PIDS=`ps -ef | grep $SERVICE_NAME | grep -v "grep" | awk '{print $2}'`
echo "PID: $PIDS"
这个传进linux里面之后,参考我上一个博客将其更正一下,就可以直接启动,启动命令是在目录下
./start start
就可以了