有时,我注意到我无法检测到我在 Ubuntu 上通过 avahi (bonjour) 发布的服务。例如,avahi-browse -a 不显示已发布的服务,浏览器也不解析已发布的 .local 主机名。在服务器端,我注意到在注册服务时ps
提示的输出:avahi-daemon
ubuntu@node3:~$ ps aux | grep [a]vahi
root 26584 0.0 0.0 4204 356 ? S 19:21 0:00 supervise avahi
ubuntu 26598 0.0 0.0 4216 352 ? S 19:21 0:00 multilog s8388608 n10 /var/log/avahi
avahi 28332 0.0 0.0 32352 1636 ? S 20:19 0:00 avahi-daemon: registering [node3-44.local]
avahi 28333 0.0 0.0 32224 468 ? S 20:19 0:00 avahi-daemon: chroot helper
root 28338 0.0 0.0 17192 1028 ? S 20:19 0:00 avahi-publish-service -as node3 _foobar._tcp 8080
以下是此命令在“未卡住”主机上的输出:
ubuntu@node2:~$ ps aux | grep [a]vahi
root 26501 0.0 0.0 4204 356 ? S 19:21 0:00 supervise avahi
ubuntu 26527 0.0 0.0 4216 352 ? S 19:21 0:00 multilog s8388608 n10 /var/log/avahi
avahi 29418 0.0 0.0 32484 1632 ? S 20:12 0:00 avahi-daemon: running [node2.local]
avahi 29419 0.0 0.0 32224 464 ? S 20:12 0:00 avahi-daemon: chroot helper
root 29425 0.0 0.0 17192 1032 ? S 20:12 0:00 avahi-publish-service -as node2 _foobar._tcp 8080
我确实看到了这个旧的错误报告,这可能是相关的。有时杀戮avahi-daemon
似乎可以暂时解决问题。此外,重新启动卡住的机器的一次尝试也奏效了。但是,我想了解为什么会发生这种情况以及如何以最可靠的方式处理该问题。有任何想法吗?