admin.sh 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #!/bin/bash
  2. # ----------------------------------------------------------------------
  3. # name: jpress.sh
  4. # version: 1.0
  5. # description: JPress 控制脚本
  6. # author: yangfuhai
  7. # email: fuhai999@gmail.com
  8. # use : ./jpress.sh {start, stop, restart}
  9. # ----------------------------------------------------------------------
  10. MAIN_CLASS=io.jboot.admin.Application
  11. COMMAND="$1"
  12. if [[ "$COMMAND" != "start" ]] && [[ "$COMMAND" != "stop" ]] && [[ "$COMMAND" != "restart" ]]; then
  13. echo "Usage: ./jpress.sh {start, stop, restart}"
  14. exit 0
  15. fi
  16. # Java 命令行参数,根据需要开启下面的配置,改成自己需要的,注意等号前后不能有空格
  17. # JAVA_OPTS="-Xms256m -Xmx1024m -Dundertow.port=80 -Dundertow.host=0.0.0.0"
  18. # JAVA_OPTS="-Dundertow.port=80 -Dundertow.host=0.0.0.0 -Dundertow.devMode=false"
  19. # 生成 class path 值
  20. APP_BASE_PATH=$(cd `dirname $0`; pwd)
  21. CP=${APP_BASE_PATH}/config:${APP_BASE_PATH}/lib/*
  22. function start()
  23. {
  24. # 运行为后台进程,并在控制台输出信息
  25. java -Djava.awt.headless=true -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} &
  26. # 运行为后台进程,并且不在控制台输出信息
  27. # nohup java -Djava.awt.headless=true -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} >/dev/null 2>&1 &
  28. # 运行为后台进程,并且将信息输出到 output.log 文件
  29. #nohup java -Djava.awt.headless=true -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS} > output.log &
  30. #tail -f /dev/null
  31. # 运行为非后台进程,多用于开发阶段,快捷键 ctrl + c 可停止服务
  32. # 当以此方式在Docker下启动时,由于是后台进程,无前台进程,Docker容器启动后会马上退出,
  33. # 需加命令tail -f /dev/null,就可以保持你的容器一直在前台运行
  34. # 或者使用以下的非后台进程运行
  35. #java -Djava.awt.headless=true -Xverify:none ${JAVA_OPTS} -cp ${CP} ${MAIN_CLASS}
  36. }
  37. function stop()
  38. {
  39. kill `pgrep -f ${APP_BASE_PATH}` 2>/dev/null
  40. }
  41. if [[ "$COMMAND" == "start" ]]; then
  42. start
  43. elif [[ "$COMMAND" == "stop" ]]; then
  44. stop
  45. else
  46. stop
  47. start
  48. fi