有没有办法观看消息在 FreeBSD 上实时使用Linux 上的--follow
( -w
) 选项dmesg
?
答案1
FreeBSD 中查看内核消息日志的方法dmesg
根本不可用。 dmesg
基于sysctl()
它不提供可遵循的界面。相反,sysctl()
仅拍摄当前内核消息缓冲区的快照。
为了跟踪消息日志,我们需要打开/dev/klog
并轮询文件描述符(带有kevent()
或类似的内容)以进行读取。系统上任何时候只有一个程序可以执行此操作,因为读取具有破坏性。该程序将syslogd
类似于 nosh 工具集的klog-read
.
因此,我们应该关注这些计划的输出。这样klog-read
就可以有效地按原样跟踪内核消息日志。通过syslogd
,系统管理员可以将内核日志配置为分部分传送到不同的地方。
进一步阅读
答案2
FreeBSD 的消息没有 --follow (-w) 开关,但您可以使用 tail 跟踪输出,如下所示:tail -F /var/log/messages
答案来源:FreeBSD 论坛
注意:更新为使用-F
而不是-f
按照 @Mateusz Piotrowski 的建议
答案3
实际上,您可能想要使用tail -F /var/log/messages
而不是tail -f /var/log/messages
这样,即使文件被重命名或旋转,文件也会被跟踪。请参阅尾巴(1)手册页提供了该标志的完整描述-F
。