stop.sh
1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/usr/bin/env bash
# =============================================================================
# OmniShopAgent - 停止脚本
# 停止 Streamlit 进程及 Milvus 容器
# =============================================================================
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
STREAMLIT_PORT="${STREAMLIT_PORT:-8501}"
echo "=========================================="
echo "OmniShopAgent 停止"
echo "=========================================="
# 1. 停止 Streamlit 进程
echo "[1/2] 停止 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
# 2. 可选:停止 Milvus 容器
echo "[2/2] 停止 Milvus..."
if command -v docker &>/dev/null; then
cd "$PROJECT_ROOT"
docker compose down 2>/dev/null || docker-compose down 2>/dev/null || true
echo " Milvus 已停止"
else
echo " Docker 未安装,跳过"
fi
echo "=========================================="
echo "OmniShopAgent 已停止"
echo "=========================================="