我正在编写一个设备驱动程序,将错误消息打印到环形缓冲区dmesg 输出。我想看到dmesg
它变化时的输出。
我怎样才能做到这一点?
答案1
相对较新的dmesg
版本提供跟随选项( -w
, --follow
) 的作用类似于tail -f
.
因此,只需使用以下命令:
$ dmesg -wH
(-H
,--human
启用用户友好的功能,例如颜色、相对时间)
这些选项在 Fedora 19 中可用。
答案2
您可以使用watch
专门用于此类操作的命令
watch -n 0.1 "dmesg | tail -n $((LINES-6))"
该$((LINES-6))
部件应该能够很好地适合您的终端。
答案3
您无法真正直接监视输出dmesg
。
但是,您的模块很可能不会直接打印到 dmesg 的环形缓冲区中,而是使用内核日志记录工具(然后将通过 来显示dmesg
)。如果您syslog
有一些合理的(例如默认)设置,这些消息很可能也会显示在kern.log
日志文件中。
所以你可以这样做:
tail -f /var/log/kern.log