统计 /proc/PID/stat 是否会使内核生成内容以便返回文件大小?

统计 /proc/PID/stat 是否会使内核生成内容以便返回文件大小?

我正在实现 的替代方案top,并认为我应该预先分配一个适当大小的缓冲区来保存 的读取内容/proc/PID/stat

但是,知道它是一个伪文件系统,其中文件内容将按需生成,是否会简单地声明该文件导致内核执行生成其内容的工作,以便返回文件大小?

答案1

stat(2)

对于目录下的大部分文件/proc,字段stat()中不返回文件大小st_size;相反,该字段会返回 value 0

所以,不,它没有,所以似乎不可能准确地分配所需的缓冲区大小。但考虑到这些文件较小且可预测的性质,几 KiB 似乎就足够了。

相关内容