我可能忽略了显而易见的问题,但是如何/是否有可能在不从C/C++程序内部手动解析/proc/interrupts的情况下检索特定中断的中断计数器?
提前感谢!
致以最好的问候,马丁
发布于 2010-09-13 21:12:51
/proc/interrupts和/proc/stat通过调用内核函数kstat_irqs_cpu()来获取数据。我认为,在不打开/proc文件的情况下读取它的唯一方法是编写自己的内核驱动程序,该驱动程序将调用相同的函数,并通过ioctl()或其他方式返回结果。
发布于 2010-09-13 21:05:40
在Linux上,/proc中的文本文件是它们提供的大多数信息的标准用户上下文界面。不管是好是坏,解析文本文件都是一种方法。
发布于 2010-09-13 21:10:43
我做了一些快速检查,看起来这个信息没有被镜像到/sys下的任何地方,也没有任何列出的syscall号码看起来可以访问这个信息,所以/proc文件可能是唯一可见的地方。
您还应该知道,格式是体系结构的,有时是内核配置特定的;这些行是由函数show_interrupts产生的,该函数通常在每个架构子目录的内核/irq.c中定义(例如,arch/x86/ kernel/irq.c,arch/s390/ kernel /irq.c)。因此,您可能必须非常小心地进行解析(或者将检查列入白名单,以便仅解析您能够在其上进行测试的架构上的文件)。
https://stackoverflow.com/questions/3700536
复制相似问题