#!/bin/bash # 新用户注册邮件通知服务 - 停止脚本 set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$SCRIPT_DIR" GREEN='\033[0;32m' YELLOW='\033[1;33m' RED='\033[0;31m' NC='\033[0m' PID_FILE="$SCRIPT_DIR/send_new_user_email.pid" if [ -f "$PID_FILE" ]; then PID=$(cat "$PID_FILE") if ps -p "$PID" > /dev/null 2>&1; then echo -e "${YELLOW}🛑 正在停止服务 (PID: $PID)...${NC}" kill "$PID" for i in {1..10}; do if ! ps -p "$PID" > /dev/null 2>&1; then break fi sleep 1 done if ps -p "$PID" > /dev/null 2>&1; then kill -9 "$PID" 2>/dev/null || true fi rm -f "$PID_FILE" echo -e "${GREEN}✅ 服务已停止${NC}" else echo -e "${YELLOW}⚠️ 进程不存在 (PID: $PID)${NC}" rm -f "$PID_FILE" fi else PIDS=$(pgrep -f "send_new_user_email.py" || true) if [ -n "$PIDS" ]; then echo -e "${YELLOW}🛑 正在停止服务...${NC}" echo "$PIDS" | xargs kill 2>/dev/null || true sleep 2 echo "$PIDS" | xargs kill -9 2>/dev/null || true echo -e "${GREEN}✅ 服务已停止${NC}" else echo -e "${YELLOW}⚠️ 未找到运行中的服务${NC}" fi fi