每次打包重新部署服務的時候,都需要先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看一下對應的服務是不是也正常啓動了
可以看到對應的服務也自動的啓動起來了