run.sh 1.4 KB

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