52 lines
1.5 KiB
Bash
Executable File
52 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# TopFans Backend - 停止所有已編譯二進制服務和網關
|
|
|
|
set -e
|
|
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m'
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
cd "$SCRIPT_DIR"
|
|
|
|
echo -e "${GREEN}========================================${NC}"
|
|
echo -e "${GREEN} TopFans Backend 二進制停止腳本${NC}"
|
|
echo -e "${GREEN}========================================${NC}"
|
|
echo ""
|
|
|
|
services=(userService assetService socialService galleryService activityService gateway)
|
|
|
|
for svc in "${services[@]}"; do
|
|
if pgrep -f "$svc" >/dev/null 2>&1; then
|
|
echo -e "${YELLOW}🛑 正在停止 $svc...${NC}"
|
|
pkill -9 -f "$svc" || true
|
|
echo -e "${GREEN}✅ $svc 已停止${NC}"
|
|
else
|
|
echo -e "${YELLOW}⚠️ $svc 未在運行${NC}"
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
echo -e "${YELLOW}🧹 清理殘留端口(如有)...${NC}"
|
|
# 端口: user=20000 social=20001 asset=20003 gallery=20004 activity=20005 gateway=8080
|
|
ports=(20000 20001 20003 20004 20005 8080)
|
|
for p in "${ports[@]}"; do
|
|
if command -v lsof >/dev/null 2>&1; then
|
|
PIDS=$(lsof -tiTCP:"$p" -sTCP:LISTEN 2>/dev/null || true)
|
|
if [ -n "$PIDS" ]; then
|
|
echo -e "${YELLOW}🛑 停止佔用端口 $p 的進程: $PIDS${NC}"
|
|
kill -9 $PIDS 2>/dev/null || true
|
|
echo -e "${GREEN}✅ 端口 $p 已釋放${NC}"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
echo -e "${GREEN}========================================${NC}"
|
|
echo -e "${GREEN} 所有二進制服務已停止${NC}"
|
|
echo -e "${GREEN}========================================${NC}"
|
|
|