1.需求分析
笔者项目jenkins+svn实现了自动打包及自动部署,但是部署之前先得kill原来的进程,显示不是很智能,所以笔者再次分享下自关闭原来进程,启动新服务的脚本
2.脚本分享
#!/bin/sh
## 应用选项
source /etc/profile
export BUILD_ID=DontKillMe
CUR_DIR=$(pwd)
APP_DIR=/home/services
APP_NAME=micro-service-gateway-0.0.1-SNAPSHOT
APP_PORT=8074
JVM_OPTIONS="-Xms256m -Xmx256m"
JAR_NAME=$APP_NAME\.jar
cd $APP_DIR
## 检查进程是否存在
PID=$(ps -ef | grep -w "$APP_NAME" | grep -v "grep" | awk '{print $2}')
if [ "$PID" == "" ]; then
echo "应用:$APP_NAME 端口:$APP_PORT 进程不存在。"
else
echo "应用:$APP_NAME 端口:$APP_PORT 存在进程:$PID"
kill -15 $PID
sleep 3
## 如果仍然存在则强行停止
CHECK_PID=$(ps -ef | grep -w "$APP_NAME" | grep -w "java"| grep -w "$APP_PORT" | grep -v "g