當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
SpringBoot编写sh脚本进行启停
生活随笔
收集整理的這篇文章主要介紹了
SpringBoot编写sh脚本进行启停
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
SpringBoot項(xiàng)目可以使用內(nèi)嵌tomcat的jar包啟動(dòng)方式也可以選擇war包配置等等進(jìn)行外置tomcat部署啟動(dòng)
我這里記錄一下內(nèi)嵌tomcat的jar包啟動(dòng)方式及shell腳本
maven? clean? package 打jar包
本地Java -jar xxx.jar啟動(dòng)測(cè)試,如果提示沒(méi)有主方法入口等問(wèn)題,建議百度進(jìn)行解決
將jar包上傳到linux服務(wù)器
確保Liunx環(huán)境又jdk運(yùn)行環(huán)境,java -version,沒(méi)有百度進(jìn)行安裝配置
shell腳本中也可以進(jìn)行export jdk環(huán)境,需要有jdk包
shell腳本如下: demo.sh
#!/bin/sh #定義程序名 及jar包的名 PROJECT_NAME=demo.jar ## 編寫判斷程序是否正在運(yùn)行的方法 isExist(){## 首先查找進(jìn)程號(hào)pid=$(ps -ef | grep ${PROJECT_NAME} | grep -v "grep" | awk '{print $2}')echo $(pid)## 如果進(jìn)程號(hào)不存在,則返回0 否則返回1if [ -z "${pid}" ]; thenreturn 0elsereturn 1fi } ## 編寫啟動(dòng)程序方法 start(){## 調(diào)用 判斷程序是否正在運(yùn)行的方法isExist## 判斷方法返回值是否等于0 ,等于則不存在if [ $? -eq "0" ]; thenecho "${PROJECT_NAME} is starting ......"nohup java -Xms1024m -Xmx2048m -jar ${PROJECT_NAME} > ./log/startup.log &echo "${PROJECT_NAME} startup success"elseecho "${PROJECT_NAME} is running, pid=${pid} "fi } ## 編寫停止程序的方法 stop(){## 調(diào)用 判斷程序是否正在運(yùn)行isExist## 判斷是否存在,返回值0不存在if [ $? -eq "0" ]; thenecho "${PROJECT_NAME} is not running ......"elseecho "${PROJECT_NAME} is running, pid=${pid}, prepare kill it "kill -9 ${pid}echo "${PROJECT_NAME} has been successfully killed ......"fi } ## 編寫重啟方法 restart(){## 先停止再啟動(dòng)stopstart }## 程序最開始執(zhí)行的 ## 根據(jù)用戶輸入,判斷執(zhí)行方法 case "$1" in"start")start;;"stop")stop;;"restart")restart;;*)echo "please enter the correct commands: "echo "such as : sh startup.sh [ start | stop | restart ]";; esac啟動(dòng)停止腳本如下:
sh? demo.sh start
sh demo.sh stop?
sh demo.sh restart?
window直接copysh腳本到liunx環(huán)境運(yùn)行會(huì)出現(xiàn)windows換行符無(wú)法識(shí)別問(wèn)題
nodepad++處理一下再上傳,建議百度
總結(jié)
以上是生活随笔為你收集整理的SpringBoot编写sh脚本进行启停的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: android service onlo
- 下一篇: js与c语言互相调用,Objc与JS间相