#!/usr/bin/env bash# 自定义参数readonly JAVA_OPTS="-Xms512m -Xmx2048m"readonly JAVA_OPTS_MIN="-Xms256m -Xmx512m"readonly LOGGING_PATH=/usr/local/bstLogfunction stopService() { echo "[$$]stop service : $1" kill -9 $(jps -ml | grep $1.jar | awk '{print $1}') if [[ $? -eq 0 ]]; then echo "[$$]stop success : $1" return 0 else echo "[$$]stop failed : $1" return 1 fi}function startService() { echo "[$$]start service : $1" case $1 in "bst-gateway" | \ "bst-oauth" | \ "bst-platform-saas.jar" | \ "bst-file-saas" | \ "bst-biz-im" | \ "bst-biz-knowledge" | \ "bst-biz-knowledge-tax" | \ "bst-biz-qa" | \ "bst-biz-search" | \ "bst-biz-user") JAVA_OPTS="-Xms512m -Xmx1024m" ;; *) # 其他情况默认 JAVA_OPTS="-Xms256m -Xmx512m" ;; esac case $1 in "bst-file-saas") loggingPath="$LOGGING_PATH/bst-file" ;; "bst-import-saas") loggingPath="$LOGGING_PATH/bst-import" ;; "bst-report-saas") loggingPath="$LOGGING_PATH/bst-report" ;; "bst-message-saas") loggingPath="$LOGGING_PATH/bst-message" ;; "bst-scheduler-saas") loggingPath="$LOGGING_PATH/bst-scheduler" ;; *) # 其他情况 loggingPath="$LOGGING_PATH/$1" ;; esac nohup java -jar $JAVA_OPTS $1.jar > "$loggingPath/$1.log" & echo "[$$]java : java -jar $JAVA_OPTS $1.jar" echo "[$$]start success : $1"}function restartService() { stopService $1 if [[ $? -eq 0 ]]; then echo "[$$]" echo "[$$]wait $WAIT s to start : $1" sleep $WAIT fi echo "[$$]" startService $1}# -----------------------------------------------# Process options with priority