6.1 KiB
6.1 KiB
验证轮询检测生效的方法
🎯 方法 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 停止监控
🎯 方法 3:RDP 连接/断开测试
步骤 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 秒
问题 3:RDP 连接/断开无反应
可能原因:
- 检测逻辑问题
- 环境变量未更新
- 配置错误
解决:
# 运行诊断工具
python src\test_rdp_detection.py
💡 推荐验证流程
最快验证方法(2 分钟):
-
启动程序
python src\remote_volume_monitor.py -
打开日志文件(用记事本)
D:\Software\remote-volume-monitor\logs\remote_volume.log -
等待 15 秒,观察是否有 3 条新的检测记录
-
用另一台电脑 RDP 连接,观察音量是否自动降低
-
断开 RDP,观察音量是否自动恢复
完成以上步骤 = 轮询完全正常! ✅
如果还有疑问,把日志文件内容发我,我帮你分析!