270 lines
6.1 KiB
Markdown
270 lines
6.1 KiB
Markdown
# 验证轮询检测生效的方法
|
||
|
||
## 🎯 方法 1:查看实时日志(最简单)
|
||
|
||
### 步骤 1:启动程序
|
||
```bash
|
||
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 实时监控日志
|
||
|
||
### 命令:
|
||
```powershell
|
||
# 实时监控日志文件(类似 tail -f)
|
||
Get-Content D:\Software\remote-volume-monitor\logs\remote_volume.log -Wait -Tail 20
|
||
```
|
||
|
||
**效果:**
|
||
- 日志会实时滚动显示
|
||
- 每 5 秒看到一次新的检测记录
|
||
- 按 Ctrl+C 停止监控
|
||
|
||
---
|
||
|
||
## 🎯 方法 3:RDP 连接/断开测试
|
||
|
||
### 步骤 1:启动程序并记录当前状态
|
||
```bash
|
||
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:修改检测间隔
|
||
```ini
|
||
[monitor]
|
||
# 改为 2 秒(更容易观察)
|
||
check_interval = 2
|
||
```
|
||
|
||
### 步骤 3:重启程序
|
||
```bash
|
||
python src\remote_volume_monitor.py
|
||
```
|
||
|
||
### 步骤 4:观察日志
|
||
|
||
**应该看到:**
|
||
```
|
||
🔄 第 1 次检测 (2 秒)
|
||
🔄 第 2 次检测 (4 秒)
|
||
🔄 第 3 次检测 (6 秒)
|
||
...
|
||
```
|
||
|
||
**如果间隔变成 2 秒,说明轮询配置生效!**
|
||
|
||
---
|
||
|
||
## 🎯 方法 6:添加自定义日志标记
|
||
|
||
如果你想更明显地看到轮询,可以临时修改代码:
|
||
|
||
### 编辑 `src/remote_volume_monitor.py`
|
||
|
||
找到 `run()` 方法,添加自定义输出:
|
||
|
||
```python
|
||
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:日志不更新
|
||
**可能原因:**
|
||
- 程序已崩溃
|
||
- 日志文件路径错误
|
||
- 权限问题
|
||
|
||
**解决:**
|
||
```bash
|
||
# 重新运行
|
||
python src\remote_volume_monitor.py --test
|
||
```
|
||
|
||
### 问题 2:检测间隔不均匀
|
||
**可能原因:**
|
||
- 系统资源紧张
|
||
- 检测逻辑卡住
|
||
- 磁盘 I/O 慢
|
||
|
||
**解决:**
|
||
- 检查 CPU/内存占用
|
||
- 查看日志中的错误信息
|
||
- 增加检测间隔到 10 秒
|
||
|
||
### 问题 3:RDP 连接/断开无反应
|
||
**可能原因:**
|
||
- 检测逻辑问题
|
||
- 环境变量未更新
|
||
- 配置错误
|
||
|
||
**解决:**
|
||
```bash
|
||
# 运行诊断工具
|
||
python src\test_rdp_detection.py
|
||
```
|
||
|
||
---
|
||
|
||
## 💡 推荐验证流程
|
||
|
||
**最快验证方法(2 分钟):**
|
||
|
||
1. 启动程序
|
||
```bash
|
||
python src\remote_volume_monitor.py
|
||
```
|
||
|
||
2. 打开日志文件(用记事本)
|
||
```
|
||
D:\Software\remote-volume-monitor\logs\remote_volume.log
|
||
```
|
||
|
||
3. 等待 15 秒,观察是否有 3 条新的检测记录
|
||
|
||
4. 用另一台电脑 RDP 连接,观察音量是否自动降低
|
||
|
||
5. 断开 RDP,观察音量是否自动恢复
|
||
|
||
**完成以上步骤 = 轮询完全正常!** ✅
|
||
|
||
---
|
||
|
||
*如果还有疑问,把日志文件内容发我,我帮你分析!*
|