Home  >  Article  >  Java  >  How to start and stop the SpringBoot jar program in Linux

How to start and stop the SpringBoot jar program in Linux

WBOY
WBOYforward
2023-05-14 18:52:141459browse

具体代码如下所示:

#!/bin/bash
cd `dirname $0`
cur_shell_dir=`pwd`
cur_shell_name=`basename ${bash_source}`
#修改这里jar包名即可
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

以上代码只需修改jar包名即可使用

启动jar包:

 ./xxxx.sh start

停止 jar包

./xxxx.sh stop

The above is the detailed content of How to start and stop the SpringBoot jar program in Linux. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete