start.bat 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. @echo off
  2. rem jar平级目录
  3. set AppName=park-application.jar
  4. set appPort=28080
  5. set JarPath=./out/park-application.jar
  6. set Env=test
  7. rem JVM参数
  8. set JVM_OPTS="-Dapp.name=%AppName% -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"
  9. ECHO.
  10. ECHO. [1] 启动%AppName%
  11. ECHO. [2] 关闭%AppName%
  12. ECHO. [3] 重启%AppName%
  13. ECHO. [4] 启动状态 %AppName%
  14. ECHO. [6] 关闭Nginx
  15. ECHO. [5] 退 出
  16. ECHO.
  17. ECHO.请输入选择项目的序号:
  18. set /p ID=
  19. IF "%id%"=="1" GOTO start
  20. IF "%id%"=="2" GOTO stop
  21. IF "%id%"=="3" GOTO restart
  22. IF "%id%"=="4" GOTO status
  23. IF "%id%"=="6" GOTO stopNginx
  24. IF "%id%"=="7" GOTO startNginx
  25. IF "%id%"=="5" EXIT
  26. PAUSE
  27. :stopNginx
  28. taskkill /f /fi "imagename eq nginx.exe"
  29. goto:eof
  30. :start
  31. set pid=
  32. for /f "usebackq tokens=2,5" %%a in (`netstat -ano ^| findstr %appPort%`) do (
  33. set pid=%%b
  34. set image_name=%%a
  35. )
  36. if defined pid (
  37. echo %%pid is running
  38. exit /b
  39. )
  40. echo javaw %JVM_OPTS% -jar %JarPath% --spring.profiles.active=%Env%
  41. start javaw %JVM_OPTS% -jar %JarPath% --spring.profiles.active=%Env%
  42. echo starting……
  43. echo Start %AppName% success...
  44. goto:eof
  45. rem 函数stop通过jps命令查找pid并结束进程
  46. :stop
  47. set pid=
  48. for /f "usebackq tokens=2,5" %%a in (`netstat -ano ^| findstr %appPort%`) do (
  49. set pid=%%b
  50. set image_name=%%a
  51. )
  52. if not defined pid (echo process %AppName% does not exists) else (
  53. echo prepare to kill %image_name%
  54. echo start kill %pid% ...
  55. rem 根据进程ID,kill进程
  56. taskkill /f /t /pid %pid%
  57. )
  58. goto:eof
  59. :restart
  60. call :stop
  61. call :start
  62. goto:eof
  63. :status
  64. for /f "usebackq tokens=2,5" %%a in (`netstat -ano ^| findstr %appPort%`) do (
  65. set pid=%%b
  66. set image_name=%%a
  67. )
  68. if not defined pid (echo process %AppName% is dead ) else (
  69. echo %image_name% is running
  70. )
  71. goto:eof