Как получить список открытых файлов для скрипта в Linux?

Как получить список открытых файлов для скрипта в Linux?

Допустим, я хотел бы выяснить, чтоpip-установкаделает, например, какие файлы загружаются, куда они извлекаются, где находятся временные файлы, ...

Есть ли какие-либо предложения по отслеживанию открытых файлов с помощью скрипта в Linux?

решение1

Я думаю, ты ищешьInotify. Он отслеживает изменения в файлах и каталогах по заданному пути. И есть много опций, чтобы заставить его работать так, как вам нужно. И также, это не зависит от процесса, поэтому вы получаете любые изменения, внесенные любым процессом или скриптом.

Вы также можете посмотретьfschange, который использует inotify в качестве бэкэнда.

А если вам нужен инструмент с графическим интерфейсом, посмотритеDaemonFS.

решение2

Вы можете использовать команду "lsof", чтобы получить список открытых файлов для процесса с определенным pid. Вот полезное введение:http://www.akadia.com/services/lsof_intro.html

Чтобы получить идентификатор процесса команды, вы можете сделать что-то вроде ps ax | grep pip. Затем просто передайте это в lsof, например: lsof -p theprocessid

Связанный контент