66 lines
1.7 KiB
Bash
66 lines
1.7 KiB
Bash
|
|
#!/bin/bash
|
|||
|
|
|
|||
|
|
# MIP广告自动点击系统 - 停止服务脚本
|
|||
|
|
|
|||
|
|
set -e
|
|||
|
|
|
|||
|
|
echo "============================================================"
|
|||
|
|
echo "停止MIP广告自动点击系统"
|
|||
|
|
echo "============================================================"
|
|||
|
|
|
|||
|
|
# 颜色定义
|
|||
|
|
RED='\033[0;31m'
|
|||
|
|
GREEN='\033[0;32m'
|
|||
|
|
YELLOW='\033[1;33m'
|
|||
|
|
NC='\033[0m'
|
|||
|
|
|
|||
|
|
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|||
|
|
cd "$PROJECT_DIR"
|
|||
|
|
|
|||
|
|
# 检查PID文件
|
|||
|
|
if [ -f "app.pid" ]; then
|
|||
|
|
PID=$(cat app.pid)
|
|||
|
|
echo "找到PID文件: $PID"
|
|||
|
|
|
|||
|
|
# 检查进程是否存在
|
|||
|
|
if ps -p $PID > /dev/null 2>&1; then
|
|||
|
|
echo -e "${YELLOW}正在停止服务 (PID: $PID)...${NC}"
|
|||
|
|
kill $PID
|
|||
|
|
|
|||
|
|
# 等待进程结束
|
|||
|
|
sleep 2
|
|||
|
|
|
|||
|
|
if ps -p $PID > /dev/null 2>&1; then
|
|||
|
|
echo -e "${YELLOW}进程未响应,强制终止...${NC}"
|
|||
|
|
kill -9 $PID
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
rm -f app.pid
|
|||
|
|
echo -e "${GREEN}✓ 服务已停止${NC}"
|
|||
|
|
else
|
|||
|
|
echo -e "${YELLOW}进程不存在,清理PID文件${NC}"
|
|||
|
|
rm -f app.pid
|
|||
|
|
fi
|
|||
|
|
else
|
|||
|
|
echo -e "${YELLOW}未找到PID文件,尝试通过端口查找进程...${NC}"
|
|||
|
|
|
|||
|
|
# 通过端口查找进程
|
|||
|
|
PORT=5000
|
|||
|
|
PID=$(lsof -ti :$PORT 2>/dev/null || echo "")
|
|||
|
|
|
|||
|
|
if [ -n "$PID" ]; then
|
|||
|
|
echo "找到占用端口 $PORT 的进程: $PID"
|
|||
|
|
echo -e "${YELLOW}正在停止...${NC}"
|
|||
|
|
kill $PID
|
|||
|
|
sleep 2
|
|||
|
|
echo -e "${GREEN}✓ 服务已停止${NC}"
|
|||
|
|
else
|
|||
|
|
echo -e "${GREEN}没有运行中的服务${NC}"
|
|||
|
|
fi
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo ""
|
|||
|
|
echo "============================================================"
|
|||
|
|
echo "服务已停止"
|
|||
|
|
echo "============================================================"
|