run.sh 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #!/bin/sh
  2. APP_NAME=wx_lvdao.jar
  3. APP_PORT=8015
  4. APP_EVN=$2 #执行环境
  5. APP_ORDER=$1 #执行方法 start|stop|restart
  6. APP_OS=linux # 系统类型 linux|win
  7. # 获取线程号
  8. APP_PID=`netstat -ano | grep $APP_PORT | grep LISTENING | awk '{print $5}'`
  9. # 启动命令
  10. startApp(){
  11. if [ ${APP_PID} ];
  12. then
  13. echo "程序已经在运行了"
  14. else
  15. echo "执行 start 方法"
  16. nohup java -Djava.net.preferIPv4Stack=true -jar -Xmx3072M -Xms512M ./$APP_NAME --spring.profiles.active=$APP_EVN --server.port=$APP_PORT & echo $! > tpid
  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. if [ ${APP_OS} == "linux" ];
  27. then
  28. kill -9 ${APP_PID} && echo 'Linux Kill Process!'
  29. else
  30. cmd "/C TASKKILL /F /PID $APP_PID"
  31. echo 'Win Kill Process!'
  32. fi
  33. else
  34. echo $APP_NAME 没有运行
  35. fi
  36. }
  37. # 重启命令
  38. restartApp(){
  39. echo " 1 执行 restart 方法"
  40. stopApp
  41. APP_PID='' #将进程号置空
  42. sleep 2
  43. echo "进程号:" ${APP_PID}
  44. echo " 2 执行 restart 方法"
  45. startApp
  46. }
  47. # 判断执行命令 取第一个参数
  48. case $APP_ORDER in
  49. "start")
  50. startApp
  51. exit 0
  52. ;;
  53. "stop")
  54. stopApp
  55. exit 1
  56. ;;
  57. "restart")
  58. restartApp
  59. exit 2
  60. ;;
  61. *)
  62. echo "Unknown inupt!"
  63. exit 3
  64. ;;
  65. esac