#!/bin/bash # stop-all.sh — 按逆序停止所有服务 source "$(dirname "${BASH_SOURCE[0]}")/config/env.sh" log_info "Stopping all services..." for pid_file in "$LOG_DIR"/*.pid; do if [[ -f "$pid_file" ]]; then pid=$(cat "$pid_file") svc=$(basename "$pid_file" .pid) if kill -0 "$pid" 2>/dev/null; then log_info "Stopping $svc (pid=$pid)..." kill "$pid" sleep 2 kill -9 "$pid" 2>/dev/null || true log_ok " $svc stopped" fi rm -f "$pid_file" fi done log_info "All services stopped"