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

Linux腳本啟動(dòng)jar包方式

 更新時(shí)間:2024年04月28日 10:47:19   作者:pocher  
這篇文章主要介紹了Linux腳本啟動(dòng)jar包方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

注意:

以下腳本筆者是在Windows上編輯的,因此默認(rèn)格式是dos。

如果在Linux上使用,請(qǐng)使用vi命令編該文件,改為Unix格式。

筆者使用的SpringBoot + jsp 因此使用的是war包,如果你使用的是jar包,在文中用到war的地方改成jar就行。

一:腳本auto_deploy.sh

使用該腳本只需要修改JAR_NAME(改成自己的)、LOG_PATH(改成自己的)、腳本格式(改成Unix格式)這三點(diǎn)就行了。

#!/bin/bash
# 定義變量
# 要運(yùn)行的jar包路徑,加不加引號(hào)都行。 注意:等號(hào)兩邊 不能 有空格,否則會(huì)提示command找不到
JAR_NAME="/xxx/xxx/xxx/xxx.war"
# 日志路徑,加不加引號(hào)都行。 注意:等號(hào)兩邊 不能 有空格,否則會(huì)提示command找不到
LOG_PATh=/export/Logs/main.log
 
 
# 如果輸入格式不對(duì),給出提示!
tips() {
	echo ""
	echo "WARNING!!!......Tips, please use command: sh auto_deploy.sh [start|stop|restart|status].   For example: sh auto_deploy.sh start  "
	echo ""
	exit 1
}
 
 
# 啟動(dòng)方法
start() {
        # 重新獲取一下pid,因?yàn)槠渌僮魅鐂top會(huì)導(dǎo)致pid的狀態(tài)更新
	pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
        # -z 表示如果$pid為空時(shí)執(zhí)行
	if [ -z $pid ]; then
        nohup java -jar $JAR_NAME > /dev/null 2>&1 &
        pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
		echo ""
        echo "Service ${JAR_NAME} is starting!pid=${pid}"
		echo "........................Here is the log.............................."
		echo "....................................................................."
        tail -f $LOG_PATh
		echo "........................Start successfully!........................."
	else
		echo ""
		echo "Service ${JAR_NAME} is already running,it's pid = ${pid}. If necessary, please use command: sh auto_deploy.sh restart."
		echo ""
	fi
}
 
# 停止方法
stop() {
		# 重新獲取一下pid,因?yàn)槠渌僮魅鐂tart會(huì)導(dǎo)致pid的狀態(tài)更新
	pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
        # -z 表示如果$pid為空時(shí)執(zhí)行。 注意:每個(gè)命令和變量之間一定要前后加空格,否則會(huì)提示command找不到
	if [ -z $pid ]; then
		echo ""
        echo "Service ${JAR_NAME} is not running! It's not necessary to stop it!"
		echo ""
	else
		kill -9 $pid
		echo ""
		echo "Service stop successfully!pid:${pid} which has been killed forcibly!"
		echo ""
	fi
}
 
# 輸出運(yùn)行狀態(tài)方法
status() {
        # 重新獲取一下pid,因?yàn)槠渌僮魅鐂top、restart、start等會(huì)導(dǎo)致pid的狀態(tài)更新
	pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
        # -z 表示如果$pid為空時(shí)執(zhí)行。注意:每個(gè)命令和變量之間一定要前后加空格,否則會(huì)提示command找不到
	if [ -z $pid ];then
		echo ""
        echo "Service ${JAR_NAME} is not running!"
		echo ""
	else
		echo ""
        echo "Service ${JAR_NAME} is running. It's pid=${pid}"
		echo ""
	fi
}
 
# 重啟方法
restart() {
	echo ""
	echo ".............................Restarting.............................."
	echo "....................................................................."
		# 重新獲取一下pid,因?yàn)槠渌僮魅鐂tart會(huì)導(dǎo)致pid的狀態(tài)更新
	pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
        # -z 表示如果$pid為空時(shí)執(zhí)行。 注意:每個(gè)命令和變量之間一定要前后加空格,否則會(huì)提示command找不到
	if [ ! -z $pid ]; then
		kill -9 $pid
	fi
	start
	echo "....................Restart successfully!..........................."
}
 
# 根據(jù)輸入?yún)?shù)執(zhí)行對(duì)應(yīng)方法,不輸入則執(zhí)行tips提示方法
case "$1" in
   "start")
     start
     ;;
   "stop")
     stop
     ;;
   "status")
     status
     ;;
   "restart")
     restart
     ;;
   *)
     tips
     ;;
esac

注意事項(xiàng):

  • -z 命令表示如果$pid為空時(shí)執(zhí)行。 注意:每個(gè)命令和變量之間一定要前后加空格,否則會(huì)提示command找不到 
  •  要運(yùn)行的jar包路徑,加不加引號(hào)都行。 注意:等號(hào)兩邊 不能 有空格,否則會(huì)提示command找不到

二:更改腳本格式

注意:以下腳本筆者是在Windows上編輯的,因此默認(rèn)格式是dos。

如果在Linux上使用,請(qǐng)使用vi命令編該文件,改為Unix格式。

第一步

上傳腳本文件到Linux系統(tǒng)后,使用vi命令編輯該腳本文件:

vi auto_deploy.sh

第二步

在Esc模式下冒號(hào)輸入命令set ff回車就能看到,該腳本是Windows系統(tǒng)的dos格式

如下圖:

第三步

在Esc模式下冒號(hào),輸入修改格式命令set ff=linux,然后回車(回車后Linux系統(tǒng)并沒有提示),完事后還是在Esc模式下輸入寫入保存命令:wq。

:set ff=linux
:wq

如下圖 

三:腳本運(yùn)行截圖

服務(wù)非啟動(dòng)狀態(tài)下截圖

sh auto_deploy.sh

sh auto_deploy.sh stop

 

sh auto_deploy.sh status

服務(wù)啟動(dòng)狀態(tài)下截圖

sh auto_deploy.sh start

再次啟動(dòng)一下試試(此時(shí)會(huì)有提示:服務(wù)已經(jīng)啟動(dòng),啟動(dòng)狀態(tài)下請(qǐng)使用重啟命了):

查看狀態(tài)(提示正在運(yùn)行):

sh auto_deploy.sh status

重啟試試:

sh auto_deploy.sh restart

停掉服務(wù)試試:

sh auto_deploy.sh stop

再次輸入stop命令(給出提示:服務(wù)沒有運(yùn)行,沒必要停止?。?/p>

總結(jié)

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

相關(guān)文章

  • centos開機(jī)自動(dòng)啟動(dòng)RabbitMq軟件的方法

    centos開機(jī)自動(dòng)啟動(dòng)RabbitMq軟件的方法

    本文詳細(xì)講解了centos開機(jī)自動(dòng)啟動(dòng)RabbitMq軟件的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以收藏下
    2021-11-11
  • linux如何開啟apache服務(wù)

    linux如何開啟apache服務(wù)

    這篇文章主要介紹了linux如何開啟apache服務(wù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-11-11
  • Apache中mod_proxy模塊的使用問題及解決方案

    Apache中mod_proxy模塊的使用問題及解決方案

    配置了apache的情況,包括uap集群,配置https等場(chǎng)景下均適用,這篇文章主要介紹了Apache中mod_proxy模塊的使用,需要的朋友可以參考下
    2024-08-08
  • 使用iptable和Firewalld工具來管理Linux防火墻連接規(guī)則

    使用iptable和Firewalld工具來管理Linux防火墻連接規(guī)則

    今天小編就為大家分享一篇關(guān)于使用iptable和Firewalld工具來管理Linux防火墻連接規(guī)則的文章,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-09-09
  • Linux下查看壓縮文件內(nèi)容的10種方法(小結(jié))

    Linux下查看壓縮文件內(nèi)容的10種方法(小結(jié))

    這篇文章主要介紹了Linux下查看壓縮文件內(nèi)容的10種方法(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • linux kernel 打印函數(shù)指針對(duì)應(yīng)的函數(shù)名方法

    linux kernel 打印函數(shù)指針對(duì)應(yīng)的函數(shù)名方法

    下面小編就為大家?guī)硪黄猯inux kernel 打印函數(shù)指針對(duì)應(yīng)的函數(shù)名方法。小編覺得挺不錯(cuò)的?,F(xiàn)在就分享給大家。也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-12-12
  • ssh連接超時(shí)解決方法

    ssh連接超時(shí)解決方法

    本文為大家介紹了ssh連接超時(shí)的解決方法, 另外提供一種不修改配置文件就可以解決連接超時(shí)的方法,大家參考使用吧
    2014-01-01
  • 解決啟動(dòng)php-fpm后訪問不到php文件的辦法

    解決啟動(dòng)php-fpm后訪問不到php文件的辦法

    今天碰了一個(gè)很奇怪的問題,當(dāng)啟動(dòng)php-fpm后,發(fā)現(xiàn)居然訪問不到php文件了,后來通過查看日志、分析+搜索終于解決了,現(xiàn)在將整個(gè)過程分享給大家,也方便同樣遇到這個(gè)問題的同學(xué)們參考借鑒,下面來一起看看吧。
    2016-12-12
  • 詳解Linux用戶態(tài)與內(nèi)核態(tài)通信的幾種方式

    詳解Linux用戶態(tài)與內(nèi)核態(tài)通信的幾種方式

    這篇文章主要介紹了詳解Linux用戶態(tài)與內(nèi)核態(tài)通信的幾種方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-06-06
  • centos系統(tǒng)安裝Kubernetes集群步驟

    centos系統(tǒng)安裝Kubernetes集群步驟

    大家好,本篇文章主要講的是centos系統(tǒng)安裝Kubernetes集群步驟,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01

最新評(píng)論