最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux啟動(dòng)Java程序jar包Shell腳本方式

 更新時(shí)間:2024年12月19日 09:01:09   作者:lcz-2000  
文章介紹了如何創(chuàng)建一個(gè)Shell腳本來簡(jiǎn)化在Linux環(huán)境中啟動(dòng)Java程序jar包的過程,該腳本可以檢查jar包的狀態(tài)、啟動(dòng)、停止和重啟項(xiàng)目,只需修改腳本中的變量并將其與jar包放在同一目錄下,即可方便地使用該腳本

Linux啟動(dòng)Java程序jar包Shell腳本

在Linux 環(huán)境中部署SpringBoot等Java項(xiàng)目時(shí)總是要重復(fù)的輸入一些命令

這里將命令編寫成一個(gè)可以執(zhí)行的shell腳本,只需要放置在和jar包同級(jí)別的目錄下,同時(shí)修改腳本內(nèi)置的一些變量后,方可正常使用

腳本使用

  • 創(chuàng)建一個(gè)名為run.sh的腳本(腳本名稱根據(jù)自己想法即可),存放在與需要啟動(dòng)的jar包同級(jí)別目錄中
  • 腳本內(nèi)容與本文提供的一致,記得修改APP_NAME參數(shù)的值
  • 在存放路徑下輸入命令 bash run.sh status即可查看當(dāng)前jar包的運(yùn)行狀態(tài)
  • 輸入命令 sh action.sh start即可運(yùn)行項(xiàng)目
  • 命令一共支持四種,分別是:start|stop|restart|status

具體功能可以查看腳本代碼

#!/bin/bash

#這里替換為程序位置  #注意:APP_NAME為jar文件名(而非路徑),且"="后面不能有空格
#此處的APP_NAME為打包后jar包名
#注意:如果包名攜帶日期或其他會(huì)變化的內(nèi)容,例如xxxx-1.0.0.20221110.release.jar,請(qǐng)修改此處的名稱為xxxx這類固定且能標(biāo)識(shí)服務(wù)的名稱,同時(shí)替換start方法中的啟動(dòng)命令
APP_NAME=lcz.jar
#添加jar包路徑,方便在任何目錄下都可以運(yùn)行腳本啟動(dòng)服務(wù)
APP_PATH=/root/lcz

#使用說明,用來提示輸入?yún)?shù)
usage() {
    echo "請(qǐng)輸入您進(jìn)行的操作: [start|stop|restart|status]"
    echo "例如: bash/run.sh start"
    exit 1
}

#檢查程序是否在運(yùn)行
is_exist(){
  pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`
  #如果不存在返回1,存在返回0
  if [ -z "${pid}" ]; then
   return 1
  else
    return 0
  fi
}

#啟動(dòng)命令執(zhí)行后輸出結(jié)果
start_log(){
  is_exist
  if [ $? -eq 0 ]; then
    echo "${APP_NAME} 啟動(dòng)成功!  pid=${pid}"
     tail ${APP_PATH}/run.log -f
  else
    echo "${APP_NAME} 啟動(dòng)失敗!請(qǐng)檢查后重試"
  fi
}

#啟動(dòng)方法
start(){
  is_exist
  if [ $? -eq 0 ]; then
    echo "${APP_NAME} is already running. pid=${pid}"
  else
    nohup java -jar -Xmx512m -Xms512m ${APP_PATH}/${APP_NAME} > ${APP_PATH}/run.log &
    #如果APP_NAME攜帶可變內(nèi)容,請(qǐng)?zhí)鎿Q下方啟動(dòng)命令,符號(hào) * 表示jar包名稱中變化的部分
    #nohup java -jar -Xmx512m -Xms512m ${APP_PATH}/${APP_NAME}*.jar >${APP_PATH}/run.log >/dev/null 2>&1 &
    start_log
  fi
}

#停止方法
stop(){
  is_exist
  if [ $? -eq "0" ]; then
    kill -9 $pid
    echo "${APP_NAME} 已關(guān)閉! pid=${pid}"
  else
    echo "${APP_NAME} is not running"
  fi

  #該腳本的特殊性:確保關(guān)閉所有openoffice進(jìn)程
  soffice_stop
}

#輸出運(yùn)行狀態(tài)
status(){
  is_exist
  if [ $? -eq "0" ]; then
    echo "${APP_NAME} is running. Pid is ${pid}"
  else
    echo "${APP_NAME} is not running."
  fi
}

#重啟
restart(){
  stop
  echo "${APP_NAME} 準(zhǔn)備重啟..."
  sleep 5
  start
}

#關(guān)閉openoffice
soffice_stop(){
  soffice_pid=`ps -e|grep soffice.bin |awk '{print $1}'`
  if [ -n "${soffice_pid}" ]; then
    kill -9 $soffice_pid
    echo "已關(guān)閉soffice.bin"
  fi
}


#根據(jù)輸入?yún)?shù),選擇執(zhí)行對(duì)應(yīng)方法,不輸入則執(zhí)行使用說明
case "$1" in
  "start")
    start
    ;;
  "stop")
    stop
    ;;
  "status")
    status
    ;;
  "restart")
    restart
    ;;
  *)
    usage
    ;;
esac

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux下一只五顏六色的「貓」

    Linux下一只五顏六色的「貓」

    這篇文章主要介紹了Linux下一只五顏六色的「貓」,在 Linux 下,此貓非彼貓,這里的 cat 并不代表貓,而是單詞 concatenate 的縮寫,主要給大家介紹了 ccat 的用法,需要的朋友可以參考下
    2020-07-07
  • Linux磁盤清理管理的實(shí)用命令和自動(dòng)腳本詳解

    Linux磁盤清理管理的實(shí)用命令和自動(dòng)腳本詳解

    在Linux系統(tǒng)中,隨著時(shí)間推移,磁盤空間會(huì)被各種日志文件、緩存文件、臨時(shí)文件等占滿,本文將詳細(xì)介紹哪些類型的文件和目錄可以安全刪除以釋放磁盤空間,希望對(duì)大家有所幫助
    2025-10-10
  • Linux查看服務(wù)器硬件信息的方法步驟

    Linux查看服務(wù)器硬件信息的方法步驟

    這篇文章主要介紹了Linux查看服務(wù)器硬件信息的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Linux下的chkconfig命令詳解

    Linux下的chkconfig命令詳解

    大家都知道chkconfig命令在linux中使用是非常的關(guān)鍵的,我們可以利用chkconfig來對(duì)系統(tǒng)的一些啟動(dòng)與禁止相關(guān)設(shè)置,下面這篇文章小編就來給大家詳細(xì)的介紹Linux下的chkconfig命令用法,有需要的朋友們可以參考學(xué)習(xí),下面來一起看看吧。
    2016-11-11
  • centos配置開機(jī)自啟動(dòng)實(shí)現(xiàn)過程

    centos配置開機(jī)自啟動(dòng)實(shí)現(xiàn)過程

    以上內(nèi)容主要介紹了使用elasticsearch為例,編寫運(yùn)行腳本、配置執(zhí)行權(quán)限及開機(jī)自啟動(dòng)的方法,旨在為讀者提供參考
    2025-03-03
  • linux網(wǎng)站服務(wù)Apache的安裝與配置方法詳解

    linux網(wǎng)站服務(wù)Apache的安裝與配置方法詳解

    這篇文章介紹下linux網(wǎng)站服務(wù)apache的安裝與配置方法,本文分為四部分給大家介紹的非常詳細(xì),感興趣的朋友可以參考下
    2016-10-10
  • centos6.5配置ssh免秘鑰登陸執(zhí)行pssh命令的講解

    centos6.5配置ssh免秘鑰登陸執(zhí)行pssh命令的講解

    今天小編就為大家分享一篇關(guān)于centos6.5配置ssh免秘鑰登陸執(zhí)行pssh命令的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Linux cal命令的使用

    Linux cal命令的使用

    這篇文章主要介紹了Linux cal命令的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • linux進(jìn)程監(jiān)控與自動(dòng)重啟的簡(jiǎn)單實(shí)現(xiàn)方法

    linux進(jìn)程監(jiān)控與自動(dòng)重啟的簡(jiǎn)單實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于linux進(jìn)程監(jiān)控與自動(dòng)重啟的簡(jiǎn)單實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用linux具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Linux KVM的QCOW2 和 ROW的詳解及區(qū)別介紹

    Linux KVM的QCOW2 和 ROW的詳解及區(qū)別介紹

    這篇文章主要介紹了Linux QCOW2 和 ROW的詳解及區(qū)別介紹的相關(guān)資料,需要的朋友可以參考下
    2016-11-11

最新評(píng)論

德清县| 读书| 大余县| 汨罗市| 新河县| 拜泉县| 荣昌县| 阿克苏市| 五常市| 阿克苏市| 苏州市| 中西区| 阳东县| 乌拉特中旗| 永德县| 闽侯县| 香港| 紫金县| 天柱县| 宿迁市| 德阳市| 香港| 苗栗县| 鹰潭市| 射洪县| 甘洛县| 永年县| 高淳县| 界首市| 长垣县| 华容县| 肇源县| 鄂尔多斯市| 讷河市| 米脂县| 英吉沙县| 贞丰县| 海口市| 湘阴县| 西乌| 瓮安县|