Files
remote-volume-monitor/Code/验证轮询生效.md
Agent 45e7d9553a Initial commit - 按新规范整理目录结构
- Code/: 源代码、配置文件、文档、工具
- Releases/: 发布包(v1.0)
- Test/: 测试用例和测试脚本
2026-03-20 06:54:40 +08:00

6.1 KiB
Raw Blame History

验证轮询检测生效的方法

🎯 方法 1查看实时日志最简单

步骤 1启动程序

cd D:\Software\remote-volume-monitor
python src\remote_volume_monitor.py

步骤 2打开日志文件

D:\Software\remote-volume-monitor\logs\remote_volume.log

用记事本或 VS Code 打开,实时查看更新

步骤 3观察日志输出

正常轮询的日志特征:

2026-03-07 19:xx:xx - INFO - 🚀 监控器已启动(轮询模式)
2026-03-07 19:xx:xx - INFO - 📊 检测间隔5 秒
2026-03-07 19:xx:xx - INFO - 🔍 正在检测 RDP 连接状态...
2026-03-07 19:xx:xx - INFO - ✓ 检测结果:本地会话
2026-03-07 19:xx:05 - INFO - 🔄 第 1 次检测 (5 秒)
2026-03-07 19:xx:05 - INFO - 🔍 正在检测 RDP 连接状态...
2026-03-07 19:xx:05 - INFO - ✓ 检测结果:本地会话
2026-03-07 19:xx:10 - INFO - 🔄 第 2 次检测 (10 秒)
2026-03-07 19:xx:10 - INFO - 🔍 正在检测 RDP 连接状态...
2026-03-07 19:xx:10 - INFO - ✓ 检测结果:本地会话
2026-03-07 19:xx:15 - INFO - 🔄 第 3 次检测 (15 秒)
...

关键验证点:

  • 每隔 5 秒出现一次 🔄 第 N 次检测
  • 时间戳递增,间隔均匀
  • 检测次数持续增加

🎯 方法 2使用 PowerShell 实时监控日志

命令:

# 实时监控日志文件(类似 tail -f
Get-Content D:\Software\remote-volume-monitor\logs\remote_volume.log -Wait -Tail 20

效果:

  • 日志会实时滚动显示
  • 每 5 秒看到一次新的检测记录
  • 按 Ctrl+C 停止监控

🎯 方法 3RDP 连接/断开测试

步骤 1启动程序并记录当前状态

python src\remote_volume_monitor.py

步骤 2打开日志文件观察

logs\remote_volume.log

步骤 3用另一台电脑 RDP 连接到此电脑

观察日志变化:

2026-03-07 19:xx:xx - INFO - 🔄 第 N 次检测 (xx 秒)
2026-03-07 19:xx:xx - INFO - 🔍 正在检测 RDP 连接状态...
2026-03-07 19:xx:xx - INFO - ✓ 检测到 RDP 会话(环境变量)
2026-03-07 19:xx:xx - INFO - 🔔 检测到远程连接
2026-03-07 19:xx:xx - INFO - ✓ 音量已设置为 30% (nircmd)

步骤 4断开 RDP 连接

观察日志变化:

2026-03-07 19:xx:xx - INFO - 🔄 第 N 次检测 (xx 秒)
2026-03-07 19:xx:xx - INFO - 🔍 正在检测 RDP 连接状态...
2026-03-07 19:xx:xx - INFO - ✓ 检测结果:本地会话
2026-03-07 19:xx:xx - INFO - 🔔 检测到远程断开
2026-03-07 19:xx:xx - INFO - ✓ 音量已设置为 80% (nircmd)

🎯 方法 4使用任务管理器验证

步骤 1启动程序

步骤 2打开任务管理器

Ctrl + Shift + Esc

步骤 3查看 Python 进程

观察:

  • Python 进程持续运行
  • CPU 占用极低(<0.1%
  • 内存占用稳定(约 20-30MB

如果轮询停止:

  • 进程消失
  • 日志不再更新
  • RDP 连接/断开无反应

🎯 方法 5修改检测间隔验证

步骤 1编辑配置文件

config\config.ini

步骤 2修改检测间隔

[monitor]
# 改为 2 秒(更容易观察)
check_interval = 2

步骤 3重启程序

python src\remote_volume_monitor.py

步骤 4观察日志

应该看到:

🔄 第 1 次检测 (2 秒)
🔄 第 2 次检测 (4 秒)
🔄 第 3 次检测 (6 秒)
...

如果间隔变成 2 秒,说明轮询配置生效!


🎯 方法 6添加自定义日志标记

如果你想更明显地看到轮询,可以临时修改代码:

编辑 src/remote_volume_monitor.py

找到 run() 方法,添加自定义输出:

def run(self):
    logger.info("🚀 监控器已启动")
    
    detection_count = 0
    start_time = time.time()
    
    try:
        while True:
            time.sleep(self.check_interval)
            detection_count += 1
            elapsed = int(time.time() - start_time)
            
            # 添加这行,更明显的标记
            print(f"【轮询心跳】第 {detection_count} 次 - {elapsed}秒 - 正常运行的")
            
            logger.info(f"🔄 第 {detection_count} 次检测 ({elapsed}秒)")
            self.run_once()
    except KeyboardInterrupt:
        logger.info(f"👋 已停止")

运行后控制台会显示:

【轮询心跳】第 1 次 - 5 秒 - 正常运行的
【轮询心跳】第 2 次 - 10 秒 - 正常运行的
【轮询心跳】第 3 次 - 15 秒 - 正常运行的
...

📊 快速验证清单

用这个清单快速确认轮询是否正常:

  • 程序启动后没有立即退出
  • 日志文件持续有新内容
  • 每隔 5 秒出现一次检测记录
  • 检测次数持续增加1, 2, 3...
  • Python 进程在任务管理器中可见
  • RDP 连接时音量自动变化
  • RDP 断开时音量自动恢复

全部打勾 = 轮询正常工作!


🔍 故障排查

问题 1日志不更新

可能原因:

  • 程序已崩溃
  • 日志文件路径错误
  • 权限问题

解决:

# 重新运行
python src\remote_volume_monitor.py --test

问题 2检测间隔不均匀

可能原因:

  • 系统资源紧张
  • 检测逻辑卡住
  • 磁盘 I/O 慢

解决:

  • 检查 CPU/内存占用
  • 查看日志中的错误信息
  • 增加检测间隔到 10 秒

问题 3RDP 连接/断开无反应

可能原因:

  • 检测逻辑问题
  • 环境变量未更新
  • 配置错误

解决:

# 运行诊断工具
python src\test_rdp_detection.py

💡 推荐验证流程

最快验证方法2 分钟):

  1. 启动程序

    python src\remote_volume_monitor.py
    
  2. 打开日志文件(用记事本)

    D:\Software\remote-volume-monitor\logs\remote_volume.log
    
  3. 等待 15 秒,观察是否有 3 条新的检测记录

  4. 用另一台电脑 RDP 连接,观察音量是否自动降低

  5. 断开 RDP观察音量是否自动恢复

完成以上步骤 = 轮询完全正常!


如果还有疑问,把日志文件内容发我,我帮你分析!