java -jar包服务启停脚本

复制代码
#! /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
复制代码

 

posted @   beawh  阅读(93)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示