我正在写一个Linux字符驱动程序,它可以在用户空间中打印系统日志。就像命令“dmesg”一样。
我了解到,我们使用“printk”打印的所有日志都将发送到名为“环形缓冲区”的空间。所以我有个问题:
最佳答案
您正在寻找的是/proc/kmsg
。这是内核环形缓冲区!
dmesg
将是您的第一选择! dmesg如何完成其任务?通过调用syslog()
! syslog如何工作?通过系统调用接口(interface),该接口(interface)依次调用do_syslog()
。 do_syslog()
的完成行为类似于this。以下是一些其他资源,可为您提供有关
/proc/kmsg
和内核日志记录的一般信息,关于linux - 如何在Linux内核空间中读取环形缓冲区?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9533708/