#!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