溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux怎么啟動(dòng)和停止SpringBoot jar程序

發(fā)布時(shí)間:2022-04-07 10:14:02 來源:億速云 閱讀:390 作者:iii 欄目:編程語言

這篇文章主要介紹“Linux怎么啟動(dòng)和停止SpringBoot jar程序”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“Linux怎么啟動(dòng)和停止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包名即可使用

啟動(dòng)jar包:

 ./xxxx.sh start

停止 jar包

./xxxx.sh stop

關(guān)于“Linux怎么啟動(dòng)和停止SpringBoot jar程序”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI