#! /bin/bash
# jar包路径
serverhome=/home/edge-gateway/mqtt-edge
logspath=$serverhome/logs
JAR_NAME=gateway-edge-mqtt.jar
# 使用说明
usage(){
echo "Usage: sh backend.sh [start|stop|restart|status]"
exit 1
}
#是否运行
is_running(){
pid=`ps -ef | grep $JAR_NAME |grep -v grep | awk '{print $2}'`
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}
#启动
start(){
is_running
if [ $? -eq "0" ]; then
echo "$JAR_NAME is running already,pid is ${pid}!"
else
mkdir -p $logspath
sleep 5
java -server \
-Dspring.config.location=$serverhome/config/ \
-Xloggc:$logspath/gc.log \
-XX:+PrintGCDetails \
-XX:+PrintGCDateStamps \
-XX:MetaspaceSize=256m \
-Xms1536m -Xmx2560m \
-jar gateway-edge-mqtt.jar > /dev/null 2>&1 &
sleep 3
is_running
if [ $? -eq 0 ]; then
echo "$JAR_NAME run successful!"
else
echo "$JAR_NAME run failed!"
fi
fi
}
#关闭
stop(){
is_running
if [ $? -eq "0" ]; then
kill -9 $pid
else
echo "$JAR_NAME is stoped already!"
fi
}
#状态
status(){
is_running
if [ $? -eq "0" ];then
echo "$JAR_NAME is running, pid is ${pid}"
else
echo "$JAR_NAME is stoped"
fi
}
#重启
restart(){
stop
start
}
case "$1" in
"start")
start
;;
"stop")
stop
;;
"restart")
restart
;;
"status")
status
;;
*)
usage
;;
esac