如何从内核空间读取/写入 linux /proc 文件?

2024-04-23

我正在编写一个由用户程序和内核模块组成的程序。内核模块需要收集数据,然后将其“发送”到用户程序。这必须通过 /proc 文件来完成。现在,我创建了文件,一切都很好,并且花了很长时间在互联网上寻找答案,但仍然找不到。如何读/写 /proc 文件from内核空间?提供给 procfile 的 write_proc 和 read_proc 用于从用户空间读取和写入数据,而我需要该模块能够写入 /proc 文件本身。


事情不是这样的。当用户空间程序打开这些文件时,它们是根据具体情况动态生成的。其中大多数是只读的,并由通用机制生成:

  • 使用 create_proc_read_entry 注册一个条目
  • 提供一个回调函数(按照惯例称为 read_proc),该函数在读取文件时调用
  • 此回调函数应填充提供的缓冲区并(通常)调用 proc_calc_metrics 来更新提供给用户空间的文件指针等。

您(从内核)不会“写入”procfs 文件,而是在用户空间请求时动态提供结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从内核空间读取/写入 linux /proc 文件? 的相关文章

随机推荐