Linux中自定義shell腳本啟動jar包
一鍵啟動、停止、重啟 java專案
創建.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 "你可以使用如下引數進行操作"
echo "-status -查看當前專案運行狀態"
echo "-start -啟動當前專案"
echo "-stop -停止當前專案"
echo "-restart -重啟當前專案"
echo ""
echo "-------------------------------------"
}
#查看狀態
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} 的應用"
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 #呼叫啟動方法
echo "專案重啟成功!"
}
#引數選項
case "$1" in
"-status")
status
;;
"-start")
start
;;
"-stop")
stop
;;
"-restart")
restart
;;
*)
tips
;;
esac
給.sh檔案授權
此時創建的檔案還是普通文本,顏色為灰色,需要給檔案授權讓檔案變成可運行檔案,綠色的
#授予檔案最大權限
chmod 777 XXX.sh
使用命令啟動jar
./XXX.sh -start
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/246948.html
標籤:其他
上一篇:Linux基礎-個人學習記錄
下一篇:自動駕駛實作
