转载

Shell 脚本重启项目

每次发打包好项目后都需要手动重启项目,写个 Shell 脚本一键重启项目

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

Shell 说明

lsof :通过端口获取进程

getopts :实现 Shell 脚本多参数

nohup :后台启动项目

Shell 运行

sh -n project -p 8080
原文  https://www.ichochy.com/blog/2019/10/16/Shell-%E8%84%9A%E6%9C%AC%E9%87%8D%E5%90%AF%E9%A1%B9%E7%9B%AE.html
正文到此结束
Loading...