scripts/stop-all.sh
Rama main · réplica de lectura del repositorio original.
#!/bin/bash
# 停止所有服务
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
echo "停止后端服务..."
if [ -f "$PROJECT_DIR/.backend.pid" ]; then
PID=$(cat "$PROJECT_DIR/.backend.pid")
if kill -0 "$PID" 2>/dev/null; then
kill -- -"$PID" 2>/dev/null || kill "$PID" 2>/dev/null
echo " 已停止 (PID: $PID)"
else
echo " 进程已不存在"
fi
rm -f "$PROJECT_DIR/.backend.pid"
else
echo " 未找到 PID 文件,尝试按端口停止..."
lsof -ti :9080 | xargs kill 2>/dev/null
fi
echo "停止管理后台..."
if [ -f "$PROJECT_DIR/.admin.pid" ]; then
PID=$(cat "$PROJECT_DIR/.admin.pid")
if kill -0 "$PID" 2>/dev/null; then
kill -- -"$PID" 2>/dev/null || kill "$PID" 2>/dev/null
echo " 已停止 (PID: $PID)"
else
echo " 进程已不存在"
fi
rm -f "$PROJECT_DIR/.admin.pid"
else
echo " 未找到 PID 文件,尝试按端口停止..."
lsof -ti :5200 | xargs kill 2>/dev/null
fi
echo "停止桌面客户端..."
if [ -f "$PROJECT_DIR/.desktop.pid" ]; then
PID=$(cat "$PROJECT_DIR/.desktop.pid")
if kill -0 "$PID" 2>/dev/null; then
kill -- -"$PID" 2>/dev/null || kill "$PID" 2>/dev/null
echo " 已停止 (PID: $PID)"
else
echo " 进程已不存在"
fi
rm -f "$PROJECT_DIR/.desktop.pid"
else
echo " 未找到 PID 文件,尝试按端口停止..."
lsof -ti :5201 | xargs kill 2>/dev/null
pkill -f "electron.*desktop" 2>/dev/null
fi
echo "所有服务已停止"