/proc 文件系统中文件的时间戳是否表示参数采样的时间?如果不是,如何获取在/proc 下的文件中更新参数的时间戳?
最佳答案
一般来说,你不应该那么相信 stat(2) 的结果在 /proc/
伪文件 上,这包括表观文件大小及其修改或访问时间。众所周知,许多 /proc/
文件的大小为零(由 stat
返回)但内容非空(因此应该按顺序读取,就像你一样会读一个管道),例如/proc/self/ map
阅读更多关于 proc(5) 的信息, 还有 Documentation/filesystems/proc.txt在你的内核源代码树中。
确实,某些文件似乎具有与 open
-ing 或 stat
-ing 的(当前)时间相关的时间戳(例如 /proc/self/maps
或 /proc/$$/mounts
或 /proc/sys/kernel/randomize_va_space
)但其他文件具有与启动时间相关的时间戳,例如/proc/interrupts
/proc/
文件系统真的很神秘,关于它的最终引用是内核源代码。但我不会依赖这样一个事实,即类似参数的文件(我猜你说的是 /proc/sys/kernel/randomize_va_space
...)具有有意义的 mtime。
当然,内核不会跟踪其许多参数的修改时间。
关于linux -/proc文件系统中文件的时间戳是否表示参数采样的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30594191/