#!/bin/bash # 查看服务状态 # 支持多租户模式 # 获取脚本所在目录 SCRIPT_DIR=$(dirname "$(readlink -f "$0")") APP_HOME=$(dirname "$SCRIPT_DIR") # 加载环境变量配置 if [ -f "${APP_HOME}/conf/env.properties" ]; then while IFS='=' read -r key value; do [[ "$key" =~ ^#.*$ ]] && continue [[ -z "$key" ]] && continue key=$(echo "$key" | xargs) value=$(echo "$value" | xargs) export "$key=$value" done < "${APP_HOME}/conf/env.properties" fi # 服务名称和实例名称 APP_NAME=${APP_NAME:-$(basename "$APP_HOME")} INSTANCE_NAME=${INSTANCE_NAME:-${APP_NAME}} # PID文件路径 PID_FILE="${APP_HOME}/${INSTANCE_NAME}.pid" echo "==========================================" echo " Service: ${INSTANCE_NAME}" echo "==========================================" if [ -f "$PID_FILE" ]; then PID=$(cat $PID_FILE) if ps -p $PID > /dev/null 2>&1; then echo -e "Status: \033[32mRUNNING\033[0m" echo "PID: ${PID}" echo "Home: ${APP_HOME}" if [ -n "${TENANT_ID}" ]; then echo "Tenant: ${TENANT_ID}" fi echo "" # 显示进程信息 ps -p $PID -o pid,ppid,%cpu,%mem,etime,cmd --no-headers 2>/dev/null else echo -e "Status: \033[31mSTOPPED\033[0m (stale PID file)" rm -f $PID_FILE fi else echo -e "Status: \033[31mSTOPPED\033[0m" fi echo "=========================================="