2013-11-13 5 views
3

Есть ли документальные стандарты для семантики Linux /proc/sys дескрипторы файлов?искать (0) на 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 плагин ... так что этот конкретный код будет работать бесконечно в демонах. Однако меня интересует ответ на общий класс вопросов.

(Кстати, есть модуль «open files/inodes»/плагин для collectd)?

ответ

3

Да, правильно использовать lseek (2) и fseek (3) для файлов в псевдо-файловой системе proc. Вызовы, которые не подходят, приводят к ошибкам, поэтому, если поиск python (вызывающий предположительно lseek/fseek underneath) работает, это уместно.

 Смежные вопросы

  • Нет связанных вопросов^_^