1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #!/bin/sh
- APP_NAME=age_dingding_oa.jar
- APP_PORT=8077
- APP_EVN=$2 #执行环境 sit|pro
- APP_ORDER=$1 #执行方法 start|stop|restart
- # 获取进程号
- APP_PID=`netstat -ntpl | grep $APP_PORT | grep LISTEN | awk '{print $7}' | awk -F "/" '{print $1}'`
- # 启动命令
- startApp(){
- if [ ${APP_PID} ];
- then
- echo "程序已经在运行了"
- else
- echo "执行 start 方法"
- nohup java -jar -Xmx3072M -Xms512M ./$APP_NAME --spring.profiles.active=$APP_EVN --server.port=$APP_PORT > logs.log 2>error.log & # 说明pid为空
- n=20
- echo "延迟 $n 秒后查询启动线程号"
- sleep $n
- runPid=$(lsof -i :$APP_PORT | awk 'NR==2 {print $2}')
- echo "进程号:" $runPid "端口号:" $APP_PORT
- echo Start Success!
- fi
- }
- # 停止命令
- stopApp(){
- echo "执行 stop 方法"
- if [ ${APP_PID} ];
- then
- echo $APP_NAME "存在,执行 stop 方法"
- kill -9 ${APP_PID} && echo 'Kill Process!'
- else
- echo $APP_NAME 没有运行
- fi
- }
- # 重启命令
- restartApp(){
- echo " 1 执行 restart 方法"
- stopApp
- APP_PID='' #将进程号置空
- sleep 2
- echo "进程号:" ${APP_PID} "端口号:" ${APP_PORT}
- echo " 2 执行 restart 方法"
- startApp
- }
- # 判断执行命令 取第一个参数
- case $APP_ORDER in
- "start")
- startApp
- ;;
- "stop")
- stopApp
- ;;
- "restart")
- restartApp
- ;;
- *)
- ;;
- esac
|