linux下執行jar與關閉jar程序
阿新 • • 發佈:2019-02-19
指令碼如下:
#埠號,根據埠號確定PID PORT=8081 #啟動命令所在目錄 HOME='/usr/etc/server' #查詢監聽PORT埠的程式,awk:過濾文字;cut-d / -f 1:以“/"分開的 第一個域 pid=`netstat -anp|grep :$PORT|awk '{printf $7}'|cut -d/ -f1` start(){ #判斷pid非空,then if[-n "$pid"];then echo "server already start,pid:$pid" return 0 fi #進入命令所在目錄 cd $HOME # nohup方式啟動jar並將日誌重定向到log中,2>&1:將stderr重定向到stdout中 &:放後臺執行 nohup java -jar UserInfoManager.jar > $HOME/UserInfoManager.log 2>&1 & echo "start at port:$PORT" } stop(){ #判斷pid是否為空 if [ -z "$pid" ]; then echo "not find program on port:$PORT" return 0 fi #結束程序 kill -9 $pid echo "kill program ,pid:$pid" } status(){ #判斷pid是否為空 if [ -z "$pid" ]; then echo "not find program on port:$PORT" else echo "program is running, pid:$pid" fi } #判斷執行那個函式 case $1 in start ) start ;; stop ) stop ;; status ) status ;; *) echo "Usage: (start|stop|status)" ;; esac exit 0
儲存為test.sh
啟動:./test.sh start
停止:./test.sh stop
檢視狀態: ./test.sh status