shell脚本实现jar项目的启动、停止、重启,脚本如下:
#!/bin/sh
export jar项目=XXX.jar
export jar端口=9022
case "$1" in
start)
## 启动XXX项目
echo "--------开始启动项目---------------"
nohup /home/dhr/java/java8/bin/java -jar -Xms500m -Xmx700m ./$jar项目 --server.port=$jar端口 --spring.profiles.active=dev >/dev/null 2>&1 &
PID=$(lsof -i:$jar端口 | grep "LISTEN" | awk '{print $2}')
until [ -n "$PID" ]; do
PID=$(lsof -i:$jar端口 | grep "LISTEN" | awk '{print $2}')
done
echo "项目 pid is $PID"
echo "---------启动成功-----------"
;;
stop)
P_ID=$(netstat -nlp | grep :$jar端口 | awk '{print $7}' | awk -F"/" '{print $1}')
if [ "$P_ID" == "" ]; then
echo "===项目 process not exists or stop success"
else
kill -9 $P_ID
echo "项目 killed success"
fi
echo "===stop success==="
;;
restart)
$0 stop
sleep 2
$0 start
echo "===restart success==="
;;
esac
exit 0
执行启动、停止、重启的命令如下:
#启动命令
./xxx.sh start
#停止命令
./xxx.sh stop
#重启命令
./xxx.sh restart