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

Linux腳本啟動jar包方式

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

注意:

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

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

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

一:腳本auto_deploy.sh

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

#!/bin/bash
# 定義變量
# 要運行的jar包路徑,加不加引號都行。 注意:等號兩邊 不能 有空格,否則會提示command找不到
JAR_NAME="/xxx/xxx/xxx/xxx.war"
# 日志路徑,加不加引號都行。 注意:等號兩邊 不能 有空格,否則會提示command找不到
LOG_PATh=/export/Logs/main.log
 
 
# 如果輸入格式不對,給出提示!
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
}
 
 
# 啟動方法
start() {
        # 重新獲取一下pid,因為其它操作如stop會導致pid的狀態(tài)更新
	pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
        # -z 表示如果$pid為空時執(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,因為其它操作如start會導致pid的狀態(tài)更新
	pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
        # -z 表示如果$pid為空時執(zhí)行。 注意:每個命令和變量之間一定要前后加空格,否則會提示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
}
 
# 輸出運行狀態(tài)方法
status() {
        # 重新獲取一下pid,因為其它操作如stop、restart、start等會導致pid的狀態(tài)更新
	pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
        # -z 表示如果$pid為空時執(zhí)行。注意:每個命令和變量之間一定要前后加空格,否則會提示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,因為其它操作如start會導致pid的狀態(tài)更新
	pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
        # -z 表示如果$pid為空時執(zhí)行。 注意:每個命令和變量之間一定要前后加空格,否則會提示command找不到
	if [ ! -z $pid ]; then
		kill -9 $pid
	fi
	start
	echo "....................Restart successfully!..........................."
}
 
# 根據(jù)輸入?yún)?shù)執(zhí)行對應方法,不輸入則執(zhí)行tips提示方法
case "$1" in
   "start")
     start
     ;;
   "stop")
     stop
     ;;
   "status")
     status
     ;;
   "restart")
     restart
     ;;
   *)
     tips
     ;;
esac

注意事項:

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

二:更改腳本格式

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

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

第一步

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

vi auto_deploy.sh

第二步

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

如下圖:

第三步

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

:set ff=linux
:wq

如下圖 

三:腳本運行截圖

服務非啟動狀態(tài)下截圖

sh auto_deploy.sh

sh auto_deploy.sh stop

 

sh auto_deploy.sh status

服務啟動狀態(tài)下截圖

sh auto_deploy.sh start

再次啟動一下試試(此時會有提示:服務已經(jīng)啟動,啟動狀態(tài)下請使用重啟命了):

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

sh auto_deploy.sh status

重啟試試:

sh auto_deploy.sh restart

停掉服務試試:

sh auto_deploy.sh stop

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

總結(jié)

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

相關(guān)文章

  • centos開機自動啟動RabbitMq軟件的方法

    centos開機自動啟動RabbitMq軟件的方法

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

    linux如何開啟apache服務

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

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

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

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

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

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

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

    linux kernel 打印函數(shù)指針對應的函數(shù)名方法

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

    ssh連接超時解決方法

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

    解決啟動php-fpm后訪問不到php文件的辦法

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

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

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

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

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

最新評論