1. 程式人生 > >linux下執行jar與關閉jar程序

linux下執行jar與關閉jar程序

指令碼如下:

#埠號,根據埠號確定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