【问题标题】:Kernel module for /proc/proc 的内核模块
【发布时间】:2011-02-15 22:03:06
【问题描述】:

如何编写一个内核模块,它在 /proc 中创建一个名为 mymod 的目录,其中的一个文件名为 mymodfile。此文件在写入时应接受 1 到 3 范围内的数字,并在读取时根据已写入的数字返回以下消息:

• 1:当前系统时间(以微秒为精度)
• 2:系统正常运行时间
• 3:当前系统中的进程数

“输出”

root@Paradise# echo 1 > /proc/mymod/mymodfile
root@Paradise# cat /proc/mymod/mymodfile
08:30:24 342us
root@Paradise# echo 2 > /proc/mymod/mymodfile
root@Paradise# cat /proc/mymod/mymodfile
up 1 day, 8 min 
root@Paradise# echo 3 > /proc/mymod/mymodfile
root@Paradise# cat /proc/mymod/mymodfile
process count: 48 

请给我一些提示如何编写内核模块以及如何编译和安装它。

【问题讨论】:

  • 我真的很感兴趣是什么让你编写这样的东西......你想知道的一切都已经在过程中......
  • 我也很感兴趣,但这是作业:-)

标签: c linux linux-kernel kernel


【解决方案1】:

您正在寻找的是Linux Kernel Module Programming Guide,特别是section on the /proc filesystem,它有详细记录的如何添加新条目的示例。

【讨论】:

    【解决方案2】:

    本月法国杂志《Gnu/Linux 杂志》上有一篇关于此的文章。

    我这里没有书签,但这些链接看起来还不错:

    http://www.linuxhq.com/lkprogram.html

    http://tldp.org/HOWTO/Module-HOWTO/x839.html

    http://tldp.org/LDP/lkmpg/2.6/html/lkmpg.html

    【讨论】:

      【解决方案3】:

      使用 sysfs 可能更容易做到这一点。 Sysfs 在设计时就考虑到了这些类型的操作,并且具有创建目录和虚拟文件的简单函数以及对这些文件进行读写操作的回调。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-01
        • 2014-02-16
        • 1970-01-01
        • 2013-08-31
        • 1970-01-01
        • 1970-01-01
        • 2011-02-01
        相关资源
        最近更新 更多