在此源代码中http://man7.org/tlpi/code/online/dist/sysinfo/procfs_pidmax.c.html文件 /proc/sys/kernel/pid_max
首先简单地读取(使用 read
系统调用)然后简单地写入(使用 write
系统调用).
为什么写之前不需要lseek
到开头?我认为文件偏移指针对于读取和写入是相同的(相关书籍的作者是这么说的)。
最佳答案
这是因为 /proc
不是真正的文件系统,所以 pid_max
写入的处理方式不需要任何 seek
.我什至不知道这里是否支持搜索。
只是为了让您感受这里的 /proc
文件有多么不同,引用了与 pid_max
特别相关的相当古老但说明性的内核错误:https://bugzilla.kernel.org/show_bug.cgi?id=13090
此链接应该向您解释更多详细信息:T H E /proc F I L E S Y S T E M
最后 developerWorks article "Access the Linux kernel using the /proc filesystem"逐步说明具有/proc FS API 的内核模块代码。这看起来 100% 是您需要的。
关于c - 在没有 lseek() 的情况下写入和读取 linux/proc/... 文件系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20595834/