Intereting Posts
Сильная команда таймаута в zsh Беспокойный рабочий стол после возобновления спячки logrotate custom "rotate" эквивалент действия для выскочки? Ядро не может загрузиться после обновления на Fedora OS 15 разрешения при установке ssh в cygwin Как добавить «обертки» вокруг методов в исходном коде на основе шаблона, используя sed, awk, grep и друзей Значки панели задач последовательно отображаются справа от приложений и мест (gnome 3) Возможна ли последовательность обратной связи данных устройства? Каковы эти символические ссылки в / run / udev / watch? nohup … & не работает должным образом в сценарии докеров Как изменить схему раскраски Gdiff в vim-fugitive plugin? Мульти монитор Xorg nVidia на Ubuntu 10.10 без корня? Могу ли я видеть удаленный терминал? Как разбить текстовый файл на несколько текстовых файлов с помощью Perl? Интерактивный поиск в стиле Ctrl-R в пользовательском файле

lsof пропускает файлы

Почему lsof не отображает файлы, которые я открывал. Например, я открываю с текстовым редактором некоторый файл в моем домашнем каталоге.

$ gedit ~/.python_history 

lsof даже не работает как root

 $ sudo lsof | grep python_history 

ничего не перечисляет. Зачем?

Редактирование и сохранение файла также не имеет значения. Запуск интерпретатора python тоже не имеет значения.

 $ lsof | grep gedit 

содержит список файлов, но не те, которые я редактирую.

Gedit считывает файл в память, затем закрывает дескриптор файла. Как правило:

 open("/path/to/your/file", O_RDONLY|O_LARGEFILE|O_NOATIME) = 18 read(18, "blah blah blah"..., 4096) = 305 close(18) = 0 

или какой-либо mmap или другим способом. (Не знаете, как именно он читает файлы, но указывает на то, что файлы не открывают.)

После этого он проводит опрос, чтобы проверить, не изменилось ли оно. И снова открыть на запись.