1e1e5957e8
- Ips.vue: el-select 添加 width: 280px,修复网段下拉框过窄 - Ips.vue: query 参数 networkId → network_id(与 FastAPI snake_case 一致) - Scan.vue: el-select 用 network.id 代替整个 network 对象作为 value,修复切换网段不生效 - enhanced_scan_service.py: 替换失效的 scapy ARP 扫描为 arp-scan 命令;扫描结果自动创建缺失 IP 记录
55 lines
1.3 KiB
Bash
Executable File
55 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
||
# IPAM 管理系统停止脚本
|
||
|
||
echo "=========================================="
|
||
echo " IPAM 管理系统停止脚本"
|
||
echo "=========================================="
|
||
echo ""
|
||
|
||
# 颜色定义
|
||
RED='\033[0;31m'
|
||
GREEN='\033[0;32m'
|
||
YELLOW='\033[1;33m'
|
||
NC='\033[0m' # No Color
|
||
|
||
echo "🛑 正在停止所有服务..."
|
||
echo ""
|
||
|
||
# 停止后端
|
||
echo "停止后端 API 服务..."
|
||
pkill -f "uvicorn app.main:app" 2>/dev/null
|
||
if [ $? -eq 0 ]; then
|
||
echo -e "${GREEN}✅ 后端已停止${NC}"
|
||
else
|
||
echo -e "${YELLOW}ℹ️ 后端未运行${NC}"
|
||
fi
|
||
|
||
# 停止 Celery
|
||
echo ""
|
||
echo "停止 Celery Worker..."
|
||
pkill -f "celery.*app.tasks.celery_app" 2>/dev/null
|
||
if [ $? -eq 0 ]; then
|
||
echo -e "${GREEN}✅ Celery Worker 已停止${NC}"
|
||
else
|
||
echo -e "${YELLOW}ℹ️ Celery Worker 未运行${NC}"
|
||
fi
|
||
|
||
# 停止前端
|
||
echo ""
|
||
echo "停止前端服务..."
|
||
pkill -f "vite" 2>/dev/null
|
||
if [ $? -eq 0 ]; then
|
||
echo -e "${GREEN}✅ 前端服务已停止${NC}"
|
||
else
|
||
echo -e "${YELLOW}ℹ️ 前端服务未运行${NC}"
|
||
fi
|
||
|
||
echo ""
|
||
echo "=========================================="
|
||
echo " 所有服务已停止"
|
||
echo "=========================================="
|
||
echo ""
|
||
echo "📋 剩余进程检查:"
|
||
ps aux | grep -E "(uvicorn|celery|vite)" | grep -v grep | awk '{print $2, $11}'
|
||
echo ""
|