Linux run jar package script

Run the jar package script under the linux system, create a config folder at the same level as the jar package, put the yml configuration file into it, and call the configuration under the config folder first when the system is running.

#!/bin/sh 
# ./rts.sh start start stop stop restart restart status status 
#jar package name 
AppName=rts-admin.jar 
# JVM parameter 
JVM_OPTS="-Dname=$AppName -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX: +UseParallelGC -XX :+UseParallelOldGC" 
APP_HOME=`pwd` 
LOG_PATH=$APP_HOME/logs/$AppName.log 
#Configuration file path 
APP_CONFIG=$APP_HOME/config/ 
if [ "$1" = "" ]; 
then 
    echo -e "\033[0 ;31m No operation name entered\033[0m \033[0;34m {start|stop|restart|status} \033[0m" exit 1 
    fi 
if 
[ "$AppName" = "" ];
then
    echo -e "\033[0;31m 未输入应用名 \033[0m"
    exit 1
fi
function start()
{
    PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
 if [ x"$PID" != x"" ]; then
     echo "$AppName is running..."
 else
  nohup java $JVM_OPTS -jar $AppName --spring.config.location=$APP_CONFIG > /dev/null 2>&1 &
  echo "Start $AppName success..."
 fi
}
function stop()
{
    echo "Stop $AppName"
 PID=""
 query(){
  PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
 }
 query
 if [ x"$PID" != x"" ]; then
  kill -TERM $PID
  echo "$AppName (pid:$PID) exiting..."
  while [ x"$PID" != x"" ]
  do
   sleep 1
   query
  done
  echo "$AppName exited."
 else
  echo "$AppName already stopped."
 fi
}

function restart()
{
    stop
    sleep 2
    start
}

function status()
{
    PID=`ps -ef |grep java|grep $AppName|grep -v grep|wc -l`
    if [ $PID != 0 ];then
        echo "$AppName is running..."
    else
        echo "$AppName is not running..."
    fi
}

case $1 in
    start)
    start;;
    stop)
    stop;;
    restart)
    restart;;
    status)
    status;;
    *)
esac

Guess you like

Origin blog.csdn.net/qq_38387996/article/details/127009128