obtim
Gold Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Установлен Python Есть код для вывода данных об открытых файлах из этого каталога по маске Маска в данный момент срабатывает криво. Вопрос будет не по ней. Цитата: #!/usr/bin/python # -*- coding: UTF-8 -*- import sys import commands import string # path = "/proc/" path = "/usr/lib/" if __name__ == "__main__": if len(sys.argv) < 2: print "Укажите маску файла." exit() mask = sys.argv[1] result = commands.getoutput("lsof " + path + mask) massiv = string.split(result) if len(massiv) == 0 or massiv[2] == "error": print "По указанной маске открытых файлов нет" else: count = (len(massiv) / 9) - 1 for x in range(1, count): line = x * 9 print "\n\ Открытый файл:\t\t", massiv[line+8], "\n\ Процесс:\t\t\t", massiv[line], "\n\ ID процесса:\t\t", massiv[line+1], "\n" | Код "нормально" отрабатывает в /usr/lib/ obtim@ubuntu:/tmp$ python laba.py *.so Открытый файл: /usr/lib/libpulsecore-4.0.so Процесс: pulseaudi ID процесса: 9447 , но затыкается на /proc (соответственно раскоментировать /proc и закоментировать /usr/lib в коде) Если выполнить вручную простой obtim@ubuntu:/tmp$ cat /proc/mdstat Personalities : unused devices: <none> You have new mail in /var/spool/mail/root Убеждаюсь, что файл mdstat из папки /proc открыт obtim@ubuntu:/tmp$ lsof /proc/* COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME hald 2183 haldaemon 16r REG 0,3 0 4026531979 /proc/mdstat Запускаю obtim@ubuntu:/tmp$ python 123.py mdstat obtim@ubuntu:/tmp$ И ничего не вижу в выводе Пробовал по разному: в /proc не отрабатывает никак. Понимаю, что /proc особенный из-за монтирования Вопрос: Как с ним надо работать?
---------- Дьявол коварен - он может явиться к нам просто в образе дьявола |
|