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

Java?Shell?springboot通用Shell啟動(dòng)腳本方式

 更新時(shí)間:2024年05月21日 09:34:06   作者:MrBlueSky  
這篇文章主要介紹了Java?Shell?springboot通用Shell啟動(dòng)腳本方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

前言

Spring boot 通用啟動(dòng)腳本,包含啟動(dòng),停止,重新啟動(dòng),查看狀態(tài)命令參數(shù)。

此腳本能自動(dòng)尋找與腳本在目錄下的jar包做為程序啟動(dòng)包。

自動(dòng)檢測(cè)java環(huán)境。

無(wú)需一定要在程序目錄下執(zhí)行腳本

Spring Boot Linux啟動(dòng)腳本

#!/bin/bash
SCRIPT_CALL_DIR=$(pwd)/
SCRIPT_FILENAME=${0##*/}
SCRIPT_DIR="$(dirname "$(readlink -f "$0")")/"
JAVA_CMD=`command -v java`
JAVA_OPTS="-Xms512m -Xmx512m -Dfile.encoding=utf-8"
#這里可替換為你自己的執(zhí)行程序,其他代碼無(wú)需更改,默認(rèn)查找此腳本同目錄jar文件,只取第一個(gè)
APP_NAME=`ls -l ${SCRIPT_DIR}|grep -e ".*[.]jar$"|head -n 1|awk '{print $9}'`
[ ! -z $APP_NAME ] && APP_NAME=$SCRIPT_DIR$APP_NAME
echo "============================================================"
echo "SCRIPT_CALL_DIR: $SCRIPT_CALL_DIR"
echo "SCRIPT_DIR:      $SCRIPT_DIR"
echo "SCRIPT_FILENAME: $SCRIPT_FILENAME"
echo "JAVA_CMD:        $JAVA_CMD"
echo "JAVA_OPTS:       $JAVA_OPTS"
echo "APP_NAME:        $APP_NAME"
echo "============================================================"
[ ! -e $JAVA_CMD ] && echo "沒(méi)有安裝java運(yùn)行環(huán)境" && exit 1
[ -z $APP_NAME ] && echo "沒(méi)有找到j(luò)ar程序包" && exit 1
#使用說(shuō)明,用來(lái)提示輸入?yún)?shù)
usage() {
    echo "Usage: sh startup.sh [start|stop|restart|status]"
    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)方法
start(){
  is_exist
  if [ $? -eq 0 ]; then
    echo "${APP_NAME} is already running. pid=${pid}"
  else
    #nohup java -jar ${APP_NAME} &
    #Xms Xmx  指定虛擬內(nèi)存上下限
    #nohup java -jar ${APP_NAME} >csls.out 2>&1 &
	#nohup java -Xms512m -Xmx512m -Dfile.encoding=utf-8 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=<ip>:<port> -Dspring.profiles.active=test -jar ${APP_NAME} > output.log 2>&1 &
	cd ${SCRIPT_DIR}
	# exec -c 創(chuàng)建新環(huán)境執(zhí)行程序,如此便不用在程序目錄下執(zhí)行啟動(dòng)命令了
    exec -c nohup ${JAVA_CMD} ${JAVA_OPTS}  -jar ${APP_NAME} > /dev/null  2>&1 &
    is_exist
    if [ $? -eq 0 ]; then
      echo "${APP_NAME} is running success. pid=${pid}"
    fi
  fi
}
 
#停止方法
stop(){
  is_exist
  if [ $? -eq "0" ]; then
    kill -9 $pid
    is_exist
    if [ $? -eq 0 ]; then
      echo "${APP_NAME} still in the running. pid=${pid}"
    else
      echo "${APP_NAME} has stopped running."
    fi
  else
    echo "${APP_NAME} is not running"
  fi  
}
 
#輸出運(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
  start
}
 
#根據(jù)輸入?yún)?shù),選擇執(zhí)行對(duì)應(yīng)方法,不輸入則執(zhí)行使用說(shuō)明
case "$1" in
  "start")
    start
    ;;
  "stop")
    stop
    ;;
  "status")
    status
    ;;
  "restart")
    restart
    ;;
  *)
    usage
    ;;
esac


tip: IDEA 遠(yuǎn)程代碼調(diào)適

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=<ip>:<port>

在這里插入圖片描述

使用示例及說(shuō)明

此腳本要與運(yùn)行的springboot包放在同一目錄下,目錄結(jié)構(gòu)如下

.
├── config
│   └── application.yml
├── data-batch-service.jar
└── startup.sh

運(yùn)行sh startup.sh

sh startup.sh

結(jié)果如下

[dsp@tbase01 data-batch-service]$ sh startup.sh 
============================================================
SCRIPT_CALL_DIR: /home/dsp/veshivue/pingan_weiwai/data-batch-service/
SCRIPT_DIR:      /home/dsp/veshivue/pingan_weiwai/data-batch-service/
SCRIPT_FILENAME: startup.sh
JAVA_CMD:        /tpmdm/software/service/jdk-11.0.6/bin/java
JAVA_OPTS:       -Xms512m -Xmx512m -Dfile.encoding=utf-8
APP_NAME:        /home/dsp/veshivue/pingan_weiwai/data-batch-service/data-batch-service.jar
============================================================
Usage: sh startup.sh [start|stop|restart|status]

運(yùn)行sh startup.sh start

sh startup.sh start

結(jié)果如下

[dsp@tbase01 data-batch-service]$ sh startup.sh start
============================================================
SCRIPT_CALL_DIR: /home/dsp/veshivue/pingan_weiwai/data-batch-service/
SCRIPT_DIR:      /home/dsp/veshivue/pingan_weiwai/data-batch-service/
SCRIPT_FILENAME: startup.sh
JAVA_CMD:        /tpmdm/software/service/jdk-11.0.6/bin/java
JAVA_OPTS:       -Xms512m -Xmx512m -Dfile.encoding=utf-8
APP_NAME:        /home/dsp/veshivue/pingan_weiwai/data-batch-service/data-batch-service.jar
============================================================
/home/dsp/veshivue/pingan_weiwai/data-batch-service/data-batch-service.jar is already running. pid=470201

運(yùn)行sh startup.sh stop

sh startup.sh stop

結(jié)果如下

[dsp@tbase01 data-batch-service]$ sh startup.sh stop
============================================================
SCRIPT_CALL_DIR: /home/dsp/veshivue/pingan_weiwai/data-batch-service/
SCRIPT_DIR:      /home/dsp/veshivue/pingan_weiwai/data-batch-service/
SCRIPT_FILENAME: startup.sh
JAVA_CMD:        /tpmdm/software/service/jdk-11.0.6/bin/java
JAVA_OPTS:       -Xms512m -Xmx512m -Dfile.encoding=utf-8
APP_NAME:        /home/dsp/veshivue/pingan_weiwai/data-batch-service/data-batch-service.jar
============================================================
/home/dsp/veshivue/pingan_weiwai/data-batch-service/data-batch-service.jar has stopped running.

運(yùn)行sh startup.sh restart

sh startup.sh restart

結(jié)果如下

[dsp@tbase01 data-batch-service]$ sh startup.sh restart
============================================================
SCRIPT_CALL_DIR: /home/dsp/veshivue/pingan_weiwai/data-batch-service/
SCRIPT_DIR:      /home/dsp/veshivue/pingan_weiwai/data-batch-service/
SCRIPT_FILENAME: startup.sh
JAVA_CMD:        /tpmdm/software/service/jdk-11.0.6/bin/java
JAVA_OPTS:       -Xms512m -Xmx512m -Dfile.encoding=utf-8
APP_NAME:        /home/dsp/veshivue/pingan_weiwai/data-batch-service/data-batch-service.jar
============================================================
/home/dsp/veshivue/pingan_weiwai/data-batch-service/data-batch-service.jar is not running
/home/dsp/veshivue/pingan_weiwai/data-batch-service/data-batch-service.jar is running success. pid=470863

運(yùn)行sh startup.sh status

sh startup.sh status

結(jié)果如下

[dsp@tbase01 data-batch-service]$ sh startup.sh status
============================================================
SCRIPT_CALL_DIR: /home/dsp/veshivue/pingan_weiwai/data-batch-service/
SCRIPT_DIR:      /home/dsp/veshivue/pingan_weiwai/data-batch-service/
SCRIPT_FILENAME: startup.sh
JAVA_CMD:        /tpmdm/software/service/jdk-11.0.6/bin/java
JAVA_OPTS:       -Xms512m -Xmx512m -Dfile.encoding=utf-8
APP_NAME:        /home/dsp/veshivue/pingan_weiwai/data-batch-service/data-batch-service.jar
============================================================
/home/dsp/veshivue/pingan_weiwai/data-batch-service/data-batch-service.jar is running. Pid is 470863

總結(jié)

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

相關(guān)文章

  • UrlDecoder和UrlEncoder使用詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    UrlDecoder和UrlEncoder使用詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了UrlDecoder和UrlEncoder使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • SpringBoot實(shí)現(xiàn)全局異常處理方法總結(jié)

    SpringBoot實(shí)現(xiàn)全局異常處理方法總結(jié)

    在項(xiàng)目開(kāi)發(fā)中出現(xiàn)異常時(shí)很平常不過(guò)的事情,我們處理異常也有很多種方式。本文將詳細(xì)為大家講解SpringBoot實(shí)現(xiàn)全局異常處理幾種方法,感興趣的可以學(xué)習(xí)一下
    2022-03-03
  • Java?toString方法使用超全講解

    Java?toString方法使用超全講解

    在Java中所有的類(lèi)都有一個(gè)共同的父類(lèi)Object(默認(rèn)繼承,不用加extends關(guān)鍵字),toString方法就是Object類(lèi)的一個(gè)方法,用來(lái)返回該對(duì)象的字符串表示形式,下面這篇文章主要給大家介紹了關(guān)于Java?toString方法使用的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • 詳解如何在SpringBoot里使用SwaggerUI

    詳解如何在SpringBoot里使用SwaggerUI

    本篇文章主要介紹了詳解如何在SpringBoot里使用SwaggerUI,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • 鴻蒙中使用WebView顯示W(wǎng)eb內(nèi)容的步驟

    鴻蒙中使用WebView顯示W(wǎng)eb內(nèi)容的步驟

    在鴻蒙操作系統(tǒng)中,Webview是一個(gè)強(qiáng)大的組件,它允許開(kāi)發(fā)者將網(wǎng)頁(yè)內(nèi)容嵌入到應(yīng)用程序中,實(shí)現(xiàn)與原生應(yīng)用的無(wú)縫集成,這篇文章主要介紹了鴻蒙中使用WebView顯示W(wǎng)eb內(nèi)容的相關(guān)資料,需要的朋友可以參考下
    2025-09-09
  • JAVA遍歷一個(gè)文件夾中的所有文件的小例子

    JAVA遍歷一個(gè)文件夾中的所有文件的小例子

    在實(shí)際項(xiàng)目中給定一文件夾,得到這個(gè)文件夾下所有的文件這樣的需求并不是很多,更多的是查找或是刪除某一具體的文件
    2013-10-10
  • Spring中的@RefreshScope注解作用

    Spring中的@RefreshScope注解作用

    這篇文章主要介紹了Spring中的@RefreshScope注解作用詳解,@RefreshScope注解是Spring Cloud中的一個(gè)重要注解,用于實(shí)現(xiàn)動(dòng)態(tài)刷新配置的功能,當(dāng)我們?cè)趹?yīng)用程序中使用@Value注解獲取配置屬性時(shí),如果配置發(fā)生變化,需要重啟應(yīng)用程序才能生效,需要的朋友可以參考下
    2023-10-10
  • 詳解SpringMVC常用注解功能及屬性

    詳解SpringMVC常用注解功能及屬性

    這篇文章主要介紹了詳解SpringMVC注解功能及屬性,文中通過(guò)詳細(xì)的示例代碼作了簡(jiǎn)要的分析,有需要的朋友可以借鑒參考下,希望可以有所幫助
    2021-09-09
  • java靜態(tài)代理的含義及用法

    java靜態(tài)代理的含義及用法

    在本篇文章里小編給大家整理的是一篇關(guān)于java靜態(tài)代理的含義及用法,有需要的朋友們可以跟著學(xué)習(xí)參考下。
    2021-06-06
  • RocketMQ NameServer保障數(shù)據(jù)一致性實(shí)現(xiàn)方法講解

    RocketMQ NameServer保障數(shù)據(jù)一致性實(shí)現(xiàn)方法講解

    這篇文章主要介紹了RocketMQ NameServer保障數(shù)據(jù)一致性實(shí)現(xiàn)方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12

最新評(píng)論

彰化市| 晋州市| 锡林浩特市| 嘉祥县| 彰化市| 丹阳市| 洞口县| 资中县| 彰化市| 博乐市| 河池市| 平南县| 武夷山市| 垫江县| 建始县| 安溪县| 昌吉市| 潜江市| 开原市| 玉田县| 南岸区| 湛江市| 遵化市| 重庆市| 苍山县| 伽师县| 蕉岭县| SHOW| 普兰县| 卢氏县| 孟连| 汝城县| 威宁| 宜黄县| 文化| 威海市| 彰化县| 鄂伦春自治旗| 介休市| 绥江县| 大同县|