【问题标题】:seek(0) on Linux /proc/sys/* pseudo-files?在 Linux /proc/sys/* 伪文件上寻找(0)?
【发布时间】:2013-11-13 08:51:36
【问题描述】:

是否有关于 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 有一个“打开的文件/索引节点”模块/插件)?

【问题讨论】:

    标签: linux procfs collectd


    【解决方案1】:

    是的,对 proc 伪文件系统上的文件使用 lseek(2) 和 fseek(3) 是正确的。不适当的调用将导致错误,因此如果 python seek(大概调用下面的 lseek/fseek)工作,它是适当的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-23
      • 1970-01-01
      • 2015-05-04
      • 2011-12-07
      • 2013-10-13
      • 2010-12-20
      • 1970-01-01
      相关资源
      最近更新 更多