linux中的dmesg命令输出的内容是从哪个文件里面获取的?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux中的dmesg命令输出的内容是从哪个文件里面获取的?相关的知识,希望对你有一定的参考价值。
我需要用C语言,实时监控dmesg输出内容的变化,dmesg输出的内容一有变化,就将变化的内容写入到另外一个文件中保存起来。
想到的方案有while(1)不断读取dmesg的输出内容,但是这样效率过低。另外一种方案就是用select监控文件描述符,但是不知道dmesg输出的内容在哪个文件里面。
dmesg 并不与具体的磁盘文件相对应,dmesg 输出的是内核ring buffer 内容
ring buffer 对应的文件描述符也许与系统相关,对ubuntu 而言 ,dmesg 读取的文件描述符是 /dev/kmsg.
Linux常用命令——dmesg
dmesg 系统启动异常诊断
语法格式:dmesg 【option】 dmesg [选项]
注意:dmesg 命令及后面的选项里,每个元素之间都要至少要有一个空格
dmesg 用于显示内核环形缓冲区的内容。在进行系统引导时,内核会将硬件和模块初始化相关的信息写到这个缓冲区中。内核环形缓冲区中的信息对于诊断系统问题是非常有用的。
内核环形缓冲区的内容同时会保存在 /var/log 目录中,即名称为 dmesg 的文件里,可以通过如下命令进行查看:
案例一:
查看内核环形缓冲区
以上是关于linux中的dmesg命令输出的内容是从哪个文件里面获取的?的主要内容,如果未能解决你的问题,请参考以下文章