stop.sh 1.15 KB
#!/usr/bin/env bash
# =============================================================================
# OmniShopAgent - 停止脚本
# 停止 Streamlit 进程
# =============================================================================
set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
STREAMLIT_PORT="${STREAMLIT_PORT:-6008}"

echo "=========================================="
echo "OmniShopAgent 停止"
echo "=========================================="

# 1. 停止 Streamlit 进程
echo "[1/1] 停止 Streamlit..."
if pgrep -f "streamlit run app.py" >/dev/null 2>&1; then
    pkill -f "streamlit run app.py" 2>/dev/null || true
    echo "  Streamlit 已停止"
else
    echo "  Streamlit 未在运行"
fi

# 按端口查找并终止
if command -v lsof &>/dev/null; then
    PID=$(lsof -ti:$STREAMLIT_PORT 2>/dev/null || true)
    if [ -n "$PID" ]; then
        kill $PID 2>/dev/null || true
        echo "  已终止端口 $STREAMLIT_PORT 上的进程"
    fi
fi

echo "=========================================="
echo "OmniShopAgent 已停止"
echo "=========================================="