How to start and stop SpringBoot jar program deployment shell script in Linux

How to start and stop SpringBoot jar program deployment shell script in Linux

Without further ado, let me give you the code. The specific code is as follows:

#!/bin/bash
cd `dirname $0`
CUR_SHELL_DIR=`pwd`
CUR_SHELL_NAME=`basename ${BASH_SOURCE}`
#Modify the jar package name here JAR_NAME="xxxxxxxxxxxx.jar" 
JAR_PATH=$CUR_SHELL_DIR/$JAR_NAME
#JAVA_MEM_OPTS=" -server -Xms1024m -Xmx1024m -XX:PermSize=128m"
JAVA_MEM_OPTS=""
#SPRING_PROFILES_ACTIV="-Dspring.profiles.active=eureka2"
SPRING_PROFILES_ACTIV=""
LOG_DIR=$CUR_SHELL_DIR/logs
LOG_PATH=$LOG_DIR/${JAR_NAME}.log
echo_help()
{
  echo -e "syntax: sh $CUR_SHELL_NAME start|stop"
}
if [ -z $1 ];then
  echo_help
  exit 1
fi
if [ ! -d "$LOG_DIR" ];then
  mkdir "$LOG_DIR"
fi
if [ ! -f "$LOG_PATH" ];then
  touch "$LOG_DIR"
fi
if [ "$1" == "start" ]; then
# check server
  PIDS=`ps --no-heading -C java -f --width 1000 | grep $JAR_NAME | awk '{print $2}'`
  if [ -n "$PIDS" ]; then
    echo -e "ERROR: The $JAR_NAME already started and the PID is ${PIDS}."
    exit 1
  fi
echo "Starting the $JAR_NAME..."
 
  # start
  nohup java $JAVA_MEM_OPTS -jar $SPRING_PROFILES_ACTIV $JAR_PATH >> $LOG_PATH 2>&1 &
 
  COUNT=0
  while [ $COUNT -lt 1 ]; do
    sleep 1
    COUNT=`ps --no-heading -C java -f --width 1000 | grep "$JAR_NAME" | awk '{print $2}' | wc -l`
    if [ $COUNT -gt 0 ]; then
      break
    fi
  done
  PIDS=`ps --no-heading -C java -f --width 1000 | grep "$JAR_NAME" | awk '{print $2}'`
  echo "${JAR_NAME} Started and the PID is ${PIDS}."
  echo "You can check the log file in ${LOG_PATH} for details."
 
elif [ "$1" == "stop" ];then
 
  PIDS=`ps --no-heading -C java -f --width 1000 | grep $JAR_NAME | awk '{print $2}'`
  if [ -z "$PIDS" ]; then
    echo "ERROR:The $JAR_NAME does not started!"
    exit 1
  fi
echo -e "Stopping the $JAR_NAME..."
 
  for PID in $PIDS; do
    kill $PID > /dev/null 2>&1
  done
 
  COUNT=0
  while [ $COUNT -lt 1 ]; do
    sleep 1
    COUNT=1
    for PID in $PIDS ; do
      PID_EXIST=`ps --no-heading -p $PID`
      if [ -n "$PID_EXIST" ]; then
        COUNT=0
        break
      fi
    done
  done
 
  echo -e "${JAR_NAME} Stopped and the PID is ${PIDS}."
else
  echo_help
  exit 1
fi

The above code can be used by simply changing the jar package name

Start the jar package:

./xxxx.sh start

Stop jar package

./xxxx.sh stop

Summarize

The above is the method of starting and stopping the SpringBoot jar program in Linux to deploy the Shell script. I hope it will be helpful to everyone. If you have any questions, please leave me a message and I will reply to you in time. I would also like to thank everyone for their support of the 123WORDPRESS.COM website!
If you find this article helpful, please feel free to reprint it and please indicate the source. Thank you!

You may also be interested in:
  • Methods and steps to deploy springboot project under Linux
  • How to package and deploy springboot to linux server
  • Detailed tutorial on deploying SpringBoot + Vue project to Linux server
  • How to deploy Spring boot to Linux
  • Deploy Spring Boot program using Linux
  • How to deploy springboot on linux to access server resources
  • Let your Spring Boot project run on Linux server from scratch

<<:  Vue realizes price calendar effect

>>:  A brief discussion on Mysql specified order sorting query

Recommend

Solution to 1045 error when navicat connects to mysql

When connecting to the local database, navicat fo...

Vue realizes the function of book shopping cart

This article example shares the specific code of ...

How to modify the root user password in mysql 8.0.16 winx64 and Linux

Please handle basic operations such as connecting...

Basic usage of custom directives in Vue

Table of contents Preface text 1. Global Registra...

Linux process management tool supervisor installation and configuration tutorial

Environment: CentOS 7 Official documentation: htt...

How to change password and set password complexity policy in Ubuntu

1. Change password 1. Modify the password of ordi...

Vue calls the computer camera to realize the photo function

This article example shares the specific code of ...

Detailed explanation of soft links and hard links in Linux

Table of contents 1. Basic storage of files and d...

Let IE support CSS3 Media Query to achieve responsive web design

Today's screen resolutions range from as smal...

Pure HTML and CSS to achieve JD carousel effect

The JD carousel was implemented using pure HTML a...

Two methods of restoring MySQL data

1. Introduction Some time ago, there were a serie...

Summary of using MySQL isolation columns and prefix indexes

Table of contents Isolate Data Columns Prefix Ind...