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

How to start and stop the SpringBoot jar program in Linux

WBOY
Release: 2023-05-14 18:52:14
forward
1479 people have browsed it

具体代码如下所示:

#!/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
Copy after login

以上代码只需修改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!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template