java 啟動指令碼
阿新 • • 發佈:2020-07-20
#!bin/bash source /etc/profile MEM_TOTAL=`cat /proc/meminfo | grep 'MemTotal' | awk '{print $2}'` MEM_FOR_JAVA=`expr $MEM_TOTAL \* 7 / 10 / 1000` MEM_JVM="-Xms${MEM_FOR_JAVA}m -Xmx${MEM_FOR_JAVA}m" OPER=$1 APP_NAME=$2 ENV=$3 CONFIG_URL="10.18.56.71:9090" HOST_NAME=`/bin/hostname` #DETECTOR_OPTS="-javaagent:/opt/pmo/detector-agent/detector-bootstrap.jar -Ddetector.agentId=$HOST_NAME -Ddetector.applicationName=${ENV_MATCH}_${APP_NAME}" DETECTOR_OPTS="" echo $DETECTOR_OPTS get_pid(){ PIDS=`ps -ef | grep java | grep "/$APP_NAME" | grep -v grep | awk '{print $2}'` } start_app(){ get_pid if [ -n "$PIDS" ]; then echo "TIP:$APP_NAME has been started! PID:$PIDS" else echo"starting $APP_NAME ..." nohup java $MEM_JVM $DETECTOR_OPTS -Dfile.encoding=UTF-8 -Dspring.profiles.active=$ENV -Dpmo.apollo.enable=true -Dpmo.apollo.urls=$CONFIG_URL -jar /opt/pmo/$APP_NAME/$APP_NAME.jar >/dev/null 2>&1 & fi } stop_app(){ get_pid if [ -z "$PIDS" ]; then echo "TIP:$APP_NAME is not started!" else echo "stopping $APP_NAME ..." kill -9 $PIDS fi } case $OPER in start) start_app ;; stop) stop_app ;; restart) stop_app sleep 3 start_app ;; *) echo "usage--$1(start|stop|restart)--$2(app_name)--$3(env)" ;; esac