Получить полный путь к открытым в данный момент файлам

Я пытаюсь написать простое приложение, которое должно читать все открытые в данный момент файлы в определенном каталоге. Точнее говоря, я хочу получить список файлов, открытых в любом месте моей папки «Документы», но мне не нужны только идентификаторы процессов или имена процессов, мне нужен полный путь к открытому файлу.

Дело в том, что я не нашел ничего для этого. Я не мог сделать это ни в оболочке linux (используя команды ps и lsof), ни в библиотеке psutil Python. Ни один из них не дает мне необходимую информацию, которая является только путем открытых файлов в директории.

Любой совет?

Заранее спасибо,

PS: я помечаю это как вопрос по питону (помимо тегов, связанных с os), потому что это было бы плюсом, если бы это можно было сделать с помощью немного библиотеки Python.

2
задан 7 April 2014 в 00:33

2 ответа

Команда lsof должна работать на Вас. Попробуйте

lsof | grep cwd

, где cwd обозначает текущий рабочий каталог.

0
ответ дан 7 April 2014 в 00:33

Кажется, что должен быть более эффективный способ сделать это, однако это должно дать Вам результат, который Вы хотите:

lsof -Fn +D $HOME | sed -n '/^n/ s/n//p' | sort -u

Посмотрите этот связанный вопрос на Проверке stackoverflow на открытые файлы с Python в Linux.

0
ответ дан 7 April 2014 в 00:33

Другие вопросы по тегам:

Похожие вопросы: