Установлен Python
Есть код для вывода данных об открытых файлах из этого каталога по маске
Маска в данный момент срабатывает криво. Вопрос будет не по ней.
Цитата:
Код "нормально" отрабатывает в /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 особенный из-за монтирования
Вопрос: Как с ним надо работать?
Есть код для вывода данных об открытых файлах из этого каталога по маске
Маска в данный момент срабатывает криво. Вопрос будет не по ней.
Цитата:
#!/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 особенный из-за монтирования
Вопрос: Как с ним надо работать?