Я пытаюсь написать простое приложение, которое должно читать все открытые в данный момент файлы в определенном каталоге. Точнее говоря, я хочу получить список файлов, открытых в любом месте моей папки «Документы», но мне не нужны только идентификаторы процессов или имена процессов, мне нужен полный путь к открытому файлу.
Дело в том, что я не нашел ничего для этого. Я не мог сделать это ни в оболочке linux (используя команды ps и lsof), ни в библиотеке psutil Python. Ни один из них не дает мне необходимую информацию, которая является только путем открытых файлов в директории.
Любой совет?
Заранее спасибо,
PS: я помечаю это как вопрос по питону (помимо тегов, связанных с os), потому что это было бы плюсом, если бы это можно было сделать с помощью немного библиотеки Python.
Кажется, что должен быть более эффективный способ сделать это, однако это должно дать Вам результат, который Вы хотите:
lsof -Fn +D $HOME | sed -n '/^n/ s/n//p' | sort -u
Посмотрите этот связанный вопрос на Проверке stackoverflow на открытые файлы с Python в Linux.