日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Linux编辑启动、停止与重启springboot jar包脚本实例

發布時間:2023/12/31 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 Linux编辑启动、停止与重启springboot jar包脚本实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

服務器

前言

springboot的配置文件中,配置文件的名字都有各自的意義跟用途

dev 開發環境
prod 生產環境(默認)
test 測試環境

加載指定配置文件 --spring.profiles.active=prod

springboot加載jar包的方式有

// 直接在控制臺進行啟動,缺點就是控制臺關閉項目也就關閉了。
java -jar bootdo.jar
// 這種方式可以運行在后臺,但是如果推出了shell的話,那也會掛
java -jar /bootdo-2.0.0.jar > bootdolog.file 2>&1 &
// 加上nohup的話,即使推出shell,也不影響。
nohup java -jar /bootdo-2.0.0.jar > bootdolog.file 2>&1 &

解釋

nohup表示永久運行。&表示后臺運行

> 代表重定向到哪里

1 表示stdout標準輸出,系統默認值是1,所以>/dev/null等同于1>/dev/null

2 表示stderr標準錯誤

nohup ./mqnamesrv >/home/cxb/mqnamesrv.out 2>&1 & 即標準輸出到mqnamesrv.out中,接著,標準錯誤輸出重定向等同于標準輸出,輸出到同一文件中。

在服務器上通過如下方式啟動成功之后,如果涉及到重新啟動,那么你需要通過ps -ef | grep bootdo 查詢到進程號,再通過kill -s 9 ${pid} 進行殺死再重新啟動,很是麻煩。

nohup java -jar /bootdo-2.0.0.jar > bootdolog.file 2>&1 &

一兩次還好說,如果涉及到多次,那就有些崩潰了。

這樣,可以通過編寫一個shell腳本來進行啟動(start)停止(stop)重啟(restart)操作,一步到位,方便高效

在自定義目錄創建 wss.sh 腳本,編輯內容如下。

#!/bin/bash
#這里可替換為你自己的執行程序,其他代碼無需更改
APP_NAME=websocketserver-0.0.1-SNAPSHOT.jar
 
#使用說明,用來提示輸入參數
usage() {
 echo Usage: sh 腳本名.sh [start|stop|restart|status]
 exit 1
}
 
#檢查程序是否在運行
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
}
 
#啟動方法
start(){
 is_exist
 if [ $? -eq 0 ]; then
 echo ${APP_NAME} is already running. pid=${pid} .
 else
 nohup java -jar /mnt/ssd1/project/websocket/$APP_NAME > /mnt/ssd1/project/websocket/websocketserverlog.file 2>&1 &
 echo ${APP_NAME} start success
 fi
}
 
#停止方法
stop(){
 is_exist
 if [ $? -eq 0 ]; then
 kill -9 $pid
 else
 echo ${APP_NAME} is not running
 fi 
}
 
#輸出運行狀態
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
}
 
#根據輸入參數,選擇執行對應方法,不輸入則執行使用說明
case $1 in
 start)
 start
 ;;
 stop)
 stop
 ;;
 status)
 status
 ;;
 restart)
 restart
 ;;
 *)
 usage
 ;;
esac

在標紅接頭行配置啟動命令。

之后就可以通過 wss.sh start | stop | restart 實現啟動,停止,重啟操作了。

補充下

sh xxx.sh與./xxx.sh區別

sh xxx.sh 是不需要有執行權限

./xxx.sh 是需要有執行權限的,可以通過 chmod +x xxx.sh 賦予權限

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。

總結

以上是生活随笔為你收集整理的Linux编辑启动、停止与重启springboot jar包脚本实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。