Linux /proc/sys
文件描述符的语义是否有书面标准?
对它们使用 seek(0)
是否合适?
这里有一段代码似乎很适合我的测试:
#!/usr/bin/python
from time import sleep
with open('/proc/sys/fs/file-nr','r') as f:
while True:
d = f.readline()
print d.split()[0]
f.seek(0)
sleep(1)
这似乎有效。但是,我想知道这是否是做这些事情的正确方法,或者我是否应该遍历 open()
... read()
... 关闭()
在这种特殊情况下,我将把它与 collectd 一起使用Python 插件...所以这个特定的代码将在守护进程中无限期运行。但是,我对一般问题的答案很感兴趣。
(顺便说一句,collectd
有一个“打开文件/inodes”模块/插件)吗?
最佳答案
是的,对 proc 伪文件系统上的文件使用 lseek(2) 和 fseek(3) 是正确的。不合适的调用会导致错误,因此如果 python seek(可能在下面调用 lseek/fseek)有效,它就是合适的。
关于linux - seek(0) 在 Linux/proc/sys/* 伪文件上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19949283/