Linux上使用shell腳本快速kill掉進程並重啓對應的服務

每次打包重新部署服務的時候,都需要先ps,然後再kill掉對應的進程,再java -jar啓動服務

每次都這樣就會感覺有點繁瑣,所以,可以寫個shell腳本來執行,來快速自動的找到對應的進程號,然後自動的把它kill掉,自動的java -jar重啓服務

echo "************ qtyc_car_owner killAndStart, Begin... **************"
#得到對應服務的進程號
str=`ps -ef | grep qtyc_car_owner-1.0-SNAPSHOT.jar | grep -v "grep"|awk '{print $2}'`
kill -9 $str
if [ "$?" -eq 0 ]; then
	echo "killed pid is "$str
    echo "kill success"
else
    echo "kill failed"
fi

nowDate=`date +"%Y-%m-%d"`
#進入對應的目錄,重啓服務
cd /usr/jsfs/
nohup java -jar qtyc_car_owner-1.0-SNAPSHOT.jar  > nohup.log 2&>car_owner-$nowDate.log &

nowstr=`ps -ef | grep qtyc_car_owner-1.0-SNAPSHOT.jar | grep -v "grep"|awk '{print $2}'`
#打印出現在新的進程號
echo "now pid is "$nowstr
echo "************ ok! Start Success... **************"

腳本寫好後,ll一下可以看到這個 .sh文件默認是不能執行的

所以,需要用chmod命令給腳本賦上執行的權限

chmod 744 car_owner_killAndStart.sh

執行完上邊的命令後,再來看一下,可以看到已經變成綠色的可執行文件了。

咱們來執行一下,可以看到已經打印出執行成功了

ps看一下對應的服務是不是也正常啓動了

可以看到對應的服務也自動的啓動起來了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章