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()
... close()
在这种特殊情况下,我将使用collectd Python插件...所以这个特定的代码将无限期地在守护进程中运行。但是,我对一般问题的答案感兴趣。
(顺便提一下collectd
有一个“打开文件/ inode”模块/插件?
答案 0 :(得分:3)
是的,在proc伪文件系统上的文件上使用lseek(2)和fseek(3)是正确的。不合适的调用会产生错误,因此如果python搜索(可能是在下面调用lseek / fseek),那么它是合适的。