溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么在Linux系統(tǒng)中使用shell腳本啟動jar包

發(fā)布時間:2021-01-18 14:18:26 來源:億速云 閱讀:419 作者:Leah 欄目:開發(fā)技術(shù)

怎么在Linux系統(tǒng)中使用shell腳本啟動jar包?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

一鍵啟動、停止、重啟 java項目

創(chuàng)建.sh文件

vi XXX.sh

編寫shell腳本

#!/bin/sh
port=8080 #定義變量等號左右不能有空格
jar_name=/opt/oaclou/XXX.jar

#運行腳本提示信息
tips(){
	echo "-------------------------------------"
	echo ""
	echo "項目端口: ${port}"
	echo "項目地址: ${jar_name}"
	echo ""
	echo "你可以使用如下參數(shù)進(jìn)行操作"
	echo "-status -查看當(dāng)前項目運行狀態(tài)"
	echo "-start  -啟動當(dāng)前項目"
	echo "-stop  -停止當(dāng)前項目"
	echo "-restart -重啟當(dāng)前項目" 
	echo ""
	echo "-------------------------------------"
}

#查看狀態(tài)
status(){
	#查詢端口的PID {print $7}-取出打印的第七個值
	pid=`netstat -apn |grep $port |awk '{print $7}' |cut -d/ -f 1`
	#判斷端口是否被占用
	if [ -z "${pid}" ];then
    	echo "沒有項目在運行"
	else
    	echo "項目正在運行中"
	fi
}

#啟動項目
start(){
	pid=`netstat -apn |grep $port |awk '{print $7}' |cut -d/ -f 1`
	if [ -z "${pid}" ];then
		echo "正在啟動......"
		java -jar -Xms1024m -Xmx1024m $jar_name
	else
		echo "項目運行中或端口已被占用"
	fi

}

#停止項目
stop(){
	pid=`netstat -apn |grep $port |awk '{print $7}' |cut -d/ -f 1`
	if [ -z "${pid}" ];then
		echo "沒有項目在運行,請先啟動"
	else
		kill -9 $pid
		echo "已殺死端口為 ${port} 的應(yīng)用"
	fi
}

#重啟項目
restart(){
	pid=`netstat -apn |grep $port |awk '{print $7}' |cut -d/ -f 1`
	echo "正在殺死端口 ${port} 的pid ${pid} 中..."
	if [ -z "${pid}" ];then
		echo "項目未啟動"
	else
		kill -9 $pid
	fi
	sleep 5 #睡眠五秒
	start  #調(diào)用啟動方法
	echo "項目重啟成功!"
}

#參數(shù)選項
case "$1" in
	"-status")
	 status
	 ;;
	"-start")
	 start
	 ;;
	"-stop")
	 stop
	 ;;
	"-restart")
	 restart
	 ;;
	*)
	 tips
	 ;;
esac

給.sh文件授權(quán)

此時創(chuàng)建的文件還是普通文本,顏色為灰色,需要給文件授權(quán)讓文件變成可運行文件,綠色的

#授予文件最大權(quán)限
chmod 777 XXX.sh

使用命令啟動jar

./XXX.sh -start

看完上述內(nèi)容,你們掌握怎么在Linux系統(tǒng)中使用shell腳本啟動jar包的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI