start.sh 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #!/bin/sh
  2. APP_HOME=$HOME
  3. . "$APP_HOME/conf/setenv.sh"
  4. start_app() {
  5. APP_NAME="$1"
  6. APP_VERSION_VAR="APP_VER_$(echo "$APP_NAME" | tr '-' '_' | tr '[:lower:]' '[:upper:]')"
  7. case "$APP_VERSION_VAR" in
  8. APP_VER_UTIC_STAT_SERVER) APP_VERSION="$APP_VER_UTIC_STAT_SERVER" ;;
  9. *) echo "[ERROR] Unknown version variable: $APP_VERSION_VAR"; exit 1 ;;
  10. esac
  11. JAR_FILE="$APPS_DIR/$APP_NAME-$APP_VERSION.jar"
  12. PID_FILE="$PID_DIR/$APP_NAME.pid"
  13. if [ -f "$PID_FILE" ]; then
  14. PID=$(cat "$PID_FILE")
  15. if ps -p "$PID" > /dev/null 2>&1; then
  16. echo "[WARN] $APP_NAME is already running (PID: $PID)"
  17. return
  18. else
  19. echo "[INFO] Application PID file found. Cleaning: $PID_FILE"
  20. rm -f "$PID_FILE"
  21. fi
  22. fi
  23. case "$APP_NAME" in
  24. utic-stat-server) JAVA_OPTS="$JAVA_OPTS $JAVA_OPTS_HEAPDUMP" ;;
  25. *) echo "[ERROR] Unknown app name: $APP_NAME"; exit 1 ;;
  26. esac
  27. echo "[INFO] Starting $APP_NAME..."
  28. echo "$JAVA_BIN" $JAVA_OPTS -jar "$JAR_FILE"
  29. nohup "$JAVA_BIN" $JAVA_OPTS -jar "$JAR_FILE" > /dev/null 2>&1 &
  30. sleep 3
  31. echo "[INFO] $APP_NAME started with PID $(cat "$PID_FILE")"
  32. ps -eaf | grep java | grep -v grep | grep -v tail
  33. echo ""
  34. }
  35. case "$1" in
  36. utic-stat-server)
  37. start_app "$1"
  38. ;;
  39. *)
  40. for APP_NAME in $APP_LIST; do
  41. start_app "$APP_NAME"
  42. done
  43. ;;
  44. esac