每次发打包好项目后都需要手动重启项目,写个 Shell
脚本一键重启项目
#!/bin/bash while getopts "n:p:" arg do case $arg in n) echo "NAME's arg:$OPTARG" NAME=$OPTARG ;; p) echo "PORT's arg:$OPTARG" PORT=$OPTARG ;; esac done PROCESS=echo | lsof -i TCP:$PORT | grep LISTEN | awk '{print $2}' if [ $PROCESS ]; then kill -9 $PROCESS echo kill $NAME:$PROCESS, restart fi cd jenkins cp jar/.tmp/$NAME-0.0.1-SNAPSHOT.jar jar/ nohup java -jar -Xms128m -Xmx256m jar/$NAME-0.0.1-SNAPSHOT.jar --eureka.url="127.0.0.1:9100/eureka/" --profile="dev" >logs/$NAME.log 2>&1 & echo $NAME starting
lsof
:通过端口获取进程
getopts
:实现 Shell
脚本多参数
nohup
:后台启动项目
sh -n project -p 8080