欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2024年12月19日 09:01:09   作者:lcz-2000  
文章介紹了如何創(chuàng)建一個(gè)Shell腳本來簡化在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包同級別的目錄下,同時(shí)修改腳本內(nèi)置的一些變量后,方可正常使用

腳本使用

  • 創(chuàng)建一個(gè)名為run.sh的腳本(腳本名稱根據(jù)自己想法即可),存放在與需要啟動(dòng)的jar包同級別目錄中
  • 腳本內(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,請修改此處的名稱為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 "請輸入您進(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)失敗!請檢查后重試"
  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)容,請?zhí)鎿Q下方啟動(dòng)命令,符號 * 表示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í)行對應(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)文章

  • centos7切換啟動(dòng)內(nèi)核與切換啟動(dòng)模式的講解

    centos7切換啟動(dòng)內(nèi)核與切換啟動(dòng)模式的講解

    今天小編就為大家分享一篇關(guān)于centos7切換啟動(dòng)內(nèi)核與切換啟動(dòng)模式的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • 關(guān)于g++和gcc的相同點(diǎn)和區(qū)別詳解

    關(guān)于g++和gcc的相同點(diǎn)和區(qū)別詳解

    下面小編就為大家?guī)硪黄P(guān)于g++和gcc的相同點(diǎn)和區(qū)別詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • centos中文件與權(quán)限的基本操作教程

    centos中文件與權(quán)限的基本操作教程

    這篇文章主要給大家介紹了關(guān)于centos文件與權(quán)限的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • centos7下NFS使用與配置的步驟

    centos7下NFS使用與配置的步驟

    本篇文章主要介紹了centos7下NFS使用與配置的步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • Linux之配置路由轉(zhuǎn)發(fā)功能的測試

    Linux之配置路由轉(zhuǎn)發(fā)功能的測試

    這篇文章主要介紹了Linux之配置路由轉(zhuǎn)發(fā)功能的測試,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • LNMP下FTP服務(wù)器的安裝與使用方法(Pureftpd和Proftpd)

    LNMP下FTP服務(wù)器的安裝與使用方法(Pureftpd和Proftpd)

    FTP是網(wǎng)站文件維護(hù)中使用比較多的,目前LNMP一鍵安裝包中有Pureftpd和Proftpd服務(wù)器安裝腳本
    2013-06-06
  • Linux文件編輯命令vi詳細(xì)整理(總結(jié))

    Linux文件編輯命令vi詳細(xì)整理(總結(jié))

    本篇文章主要介紹了Linux文件編輯命令詳細(xì)整理(總結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • 安裝Ubuntu 20.04后要做的事(小白教程)

    安裝Ubuntu 20.04后要做的事(小白教程)

    這篇文章主要介紹了安裝Ubuntu 20.04后要做的事(小白教程),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 詳解如何在Ubuntu 20.04上安裝Xrdp服務(wù)器(遠(yuǎn)程桌面)

    詳解如何在Ubuntu 20.04上安裝Xrdp服務(wù)器(遠(yuǎn)程桌面)

    這篇文章主要介紹了詳解如何在Ubuntu 20.04上安裝Xrdp服務(wù)器(遠(yuǎn)程桌面),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • linux下通過Squid反向代理搭建CDN緩存服務(wù)器的配置方法

    linux下通過Squid反向代理搭建CDN緩存服務(wù)器的配置方法

    在移動(dòng)機(jī)房放置一臺(tái)CDN代理服務(wù)器,通過智能DNS解析,讓電信用戶直接訪問Web服務(wù)器、讓移動(dòng)用戶訪問CDN代理服務(wù)器,解決移動(dòng)用戶訪問Web服務(wù)器慢的問題
    2013-06-06

最新評論