使用procfs的Linux内核代码:我应该注意什么?

时间:2009-07-15 23:33:56

标签: filesystems linux-kernel interprocess procfs

我对内核补丁有一个非常好的想法,我希望在我改变想法之前进行一些研究并查看代码示例。

我正在寻找有趣的代码示例来演示procfs的高级用法(Linux /proc文件系统)。有趣的是,我的意思不仅仅是阅读有记录的价值。


我的想法是为每个流程提供简单的广播机制。例如,让我们考虑一个运行多个rsync实例的进程,并希望检查每个子进程的传输状态(到目前为止传输了多少字节)。目前,我不知道有什么办法可以做。

我打算为进程提供一个最小的接口来将数据写入procfs。该数据将放在PID目录下。例如:

/procfs/1343/data_transfered/incoming

我可以想到很多优点,主要是在并发领域。

顺便说一句,如果这种机制已经存在,请告诉......

3 个答案:

答案 0 :(得分:3)

是的,我写过/ proc中的东西。我怀疑你不可能接受使用proc做任何事情的Linux内核补丁,除非他们只是修复那些已经存在某种破坏的东西。*

/ sysfs似乎正在发生变化。

/ proc最初用于处理过程信息,但很多misc。司机的东西最终落在了那里。

*好吧,也许他们会接受它,如果你正在做的任何事情与进程有关,而且不在驱动程序中。

答案 1 :(得分:2)

查看使用/ proc

的代码的procps包的源代码

答案 2 :(得分:1)

http://github.com/tialaramex/leakdice/tree/master

使用proc来计算进程的内存地址布局,并从其堆中转储随机页面(原因在文档中有解释)。