run.sh 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #!/bin/sh
  2. APP_NAME=gov_zhuhai_isolation.jar
  3. APP_PORT=8014
  4. APP_EVN=$2 #执行环境 sit|pro
  5. APP_ORDER=$1 #执行方法 start|stop|restart
  6. # 获取进程号
  7. APP_PID=`netstat -ntpl | grep $APP_PORT | grep LISTEN | awk '{print $7}' | awk -F "/" '{print $1}'`
  8. # 启动命令
  9. startApp(){
  10. if [ ${APP_PID} ];
  11. then
  12. echo "程序已经在运行了"
  13. else
  14. echo "执行 start 方法"
  15. nohup java -jar -Xmx3072M -Xms512M ./$APP_NAME --spring.profiles.active=$APP_EVN --server.port=$APP_PORT > logs.log 2>error.log & # 说明pid为空
  16. echo Start Success!
  17. fi
  18. }
  19. # 停止命令
  20. stopApp(){
  21. echo "执行 stop 方法"
  22. if [ ${APP_PID} ];
  23. then
  24. echo $APP_NAME "存在,执行 stop 方法"
  25. kill -9 ${APP_PID} && echo 'Kill Process!'
  26. else
  27. echo $APP_NAME 没有运行
  28. fi
  29. }
  30. # 重启命令
  31. restartApp(){
  32. echo " 1 执行 restart 方法"
  33. stopApp
  34. APP_PID='' #将进程号置空
  35. sleep 2
  36. echo "进程号:" ${APP_PID} "端口号:" ${APP_PORT}
  37. echo " 2 执行 restart 方法"
  38. startApp
  39. }
  40. # 判断执行命令 取第一个参数
  41. case $APP_ORDER in
  42. "start")
  43. startApp
  44. ;;
  45. "stop")
  46. stopApp
  47. ;;
  48. "restart")
  49. restartApp
  50. ;;
  51. *)
  52. ;;
  53. esac