温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux如何启动和停止SpringBoot jar程序

发布时间:2023-05-16 14:15:13 来源:亿速云 阅读:95 作者:iii 栏目:编程语言

今天小编给大家分享一下Linux如何启动和停止SpringBoot jar程序的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

具体代码如下所示:

#!/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

以上就是“Linux如何启动和停止SpringBoot jar程序”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI