#!/bin/bash # hzhub-gateway 状态检查脚本 cd "$(dirname "$0")" PID_FILE="logs/gateway.pid" if [ -f "$PID_FILE" ]; then PID=$(cat "$PID_FILE") if kill -0 "$PID" 2>/dev/null; then PORT=$(netstat -tulnp 2>/dev/null | grep ":8080 " | grep "$PID" | awk '{print $4}' | cut -d: -f2) if [ -z "$PORT" ]; then PORT=$(ss -tulnp 2>/dev/null | grep ":8080 " | grep "pid=$PID" | awk '{print $5}' | cut -d: -f2) fi echo "hzhub-gateway is running." echo " PID: $PID" if [ -n "$PORT" ]; then echo " Port: $PORT" else echo " Port: 8080 (checking...)" fi else echo "hzhub-gateway is not running (stale PID file: $PID)." rm -f "$PID_FILE" fi else # Fallback: find by process name PID=$(ps aux | grep '[h]zhub-gateway\|[h]zhub.gateway' | grep -v grep | awk '{print $2}') if [ -n "$PID" ]; then echo "hzhub-gateway is running." echo " PID: $PID" echo " Port: 8080" else echo "hzhub-gateway is not running." fi fi