7

在此源代码http://man7.org/tlpi/code/online/dist/sysinfo/procfs_pidmax.c.html/proc/sys/kernel/pid_max中,首先简单地读取文件(使用read系统调用),然后简单地写入(使用write系统调用)。

为什么在写作之前没有必要lseek从头开始?我认为文件偏移指针对于读取和写入是相同的(这就是相关书籍的作者所说的)。

4

2 回答 2

6

这是因为/proc它不是真正的文件系统,因此pid_max以您不需要任何seek. 我什至不知道这里是否支持搜索。

只是为了让您了解这里的文件有多么不同/proc,这是非常古老但说明性的内核错误的参考,特别与以下相关pid_maxhttps ://bugzilla.kernel.org/show_bug.cgi?id=13090

此链接应向您解释更多详细信息:/proc 文件系统

最后是 developerWorks 文章“使用 /proc 文件系统访问 Linux 内核”,逐步说明了具有 /proc FS API 的内核模块代码。这看起来像你需要的 100%。

于 2013-12-15T15:01:47.000 回答
1

我查看了内核源代码,/proc/sys/ 下的文件在 sysctl 表控制下,每个条目的读/写回调支持文件偏移。“pid_max entry”有一个 int 值可以操作,因此,这些回调中的偏移量实际上没有使用。

于 2013-12-17T10:57:38.850 回答