linux安装优化
新增脚本
This commit is contained in:
67
stop_linux.sh
Normal file
67
stop_linux.sh
Normal file
@@ -0,0 +1,67 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ============================================================
|
||||
# Weibo-HotSign Linux 停止脚本
|
||||
# 使用方式: chmod +x stop_linux.sh && ./stop_linux.sh
|
||||
# ============================================================
|
||||
|
||||
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
PID_DIR="${PROJECT_DIR}/.pids"
|
||||
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m'
|
||||
|
||||
info() { echo -e "${GREEN}[✓]${NC} $1"; }
|
||||
warn() { echo -e "${YELLOW}[!]${NC} $1"; }
|
||||
|
||||
echo ""
|
||||
echo "========================================"
|
||||
echo " Weibo-HotSign 停止服务"
|
||||
echo "========================================"
|
||||
echo ""
|
||||
|
||||
SERVICES=("auth_service" "api_service" "frontend")
|
||||
SERVICE_NAMES=("Auth Service" "API Service" "Frontend")
|
||||
|
||||
stopped=0
|
||||
|
||||
for i in "${!SERVICES[@]}"; do
|
||||
name="${SERVICES[$i]}"
|
||||
display="${SERVICE_NAMES[$i]}"
|
||||
pidfile="${PID_DIR}/${name}.pid"
|
||||
|
||||
if [ -f "$pidfile" ]; then
|
||||
pid=$(cat "$pidfile")
|
||||
if kill -0 "$pid" 2>/dev/null; then
|
||||
kill "$pid" 2>/dev/null
|
||||
# 等待进程退出(最多 5 秒)
|
||||
for j in $(seq 1 10); do
|
||||
if ! kill -0 "$pid" 2>/dev/null; then
|
||||
break
|
||||
fi
|
||||
sleep 0.5
|
||||
done
|
||||
# 如果还没退出,强制杀
|
||||
if kill -0 "$pid" 2>/dev/null; then
|
||||
kill -9 "$pid" 2>/dev/null
|
||||
fi
|
||||
info "${display} 已停止 (PID: ${pid})"
|
||||
stopped=$((stopped + 1))
|
||||
else
|
||||
warn "${display} 进程不存在 (PID: ${pid})"
|
||||
fi
|
||||
rm -f "$pidfile"
|
||||
else
|
||||
warn "${display} 未在运行"
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
if [ $stopped -gt 0 ]; then
|
||||
info "已停止 ${stopped} 个服务"
|
||||
else
|
||||
warn "没有正在运行的服务"
|
||||
fi
|
||||
echo ""
|
||||
Reference in New Issue
Block a user