1. #!/usr/bin/env bash
    2. # 自定义参数
    3. readonly JAVA_OPTS="-Xms512m -Xmx2048m"
    4. readonly JAVA_OPTS_MIN="-Xms256m -Xmx512m"
    5. readonly LOGGING_PATH=/usr/local/bstLog
    6. function stopService() {
    7. echo "[$$]stop service : $1"
    8. kill -9 $(jps -ml | grep $1.jar | awk '{print $1}')
    9. if [[ $? -eq 0 ]]; then
    10. echo "[$$]stop success : $1"
    11. return 0
    12. else
    13. echo "[$$]stop failed : $1"
    14. return 1
    15. fi
    16. }
    17. function startService() {
    18. echo "[$$]start service : $1"
    19. case $1 in
    20. "bst-gateway" | \
    21. "bst-oauth" | \
    22. "bst-platform-saas.jar" | \
    23. "bst-file-saas" | \
    24. "bst-biz-im" | \
    25. "bst-biz-knowledge" | \
    26. "bst-biz-knowledge-tax" | \
    27. "bst-biz-qa" | \
    28. "bst-biz-search" | \
    29. "bst-biz-user")
    30. JAVA_OPTS="-Xms512m -Xmx1024m"
    31. ;;
    32. *)
    33. # 其他情况默认
    34. JAVA_OPTS="-Xms256m -Xmx512m"
    35. ;;
    36. esac
    37. case $1 in
    38. "bst-file-saas")
    39. loggingPath="$LOGGING_PATH/bst-file"
    40. ;;
    41. "bst-import-saas")
    42. loggingPath="$LOGGING_PATH/bst-import"
    43. ;;
    44. "bst-report-saas")
    45. loggingPath="$LOGGING_PATH/bst-report"
    46. ;;
    47. "bst-message-saas")
    48. loggingPath="$LOGGING_PATH/bst-message"
    49. ;;
    50. "bst-scheduler-saas")
    51. loggingPath="$LOGGING_PATH/bst-scheduler"
    52. ;;
    53. *)
    54. # 其他情况
    55. loggingPath="$LOGGING_PATH/$1"
    56. ;;
    57. esac
    58. nohup java -jar $JAVA_OPTS $1.jar > "$loggingPath/$1.log" &
    59. echo "[$$]java : java -jar $JAVA_OPTS $1.jar"
    60. echo "[$$]start success : $1"
    61. }
    62. function restartService() {
    63. stopService $1
    64. if [[ $? -eq 0 ]]; then
    65. echo "[$$]"
    66. echo "[$$]wait $WAIT s to start : $1"
    67. sleep $WAIT
    68. fi
    69. echo "[$$]"
    70. startService $1
    71. }
    72. # -----------------------------------------------
    73. # Process options with priority