Определите, к каким файлам обращается процесс

9

Как узнать все файлы, к которым обращается определенный процесс?

Я использую Ubuntu 9.04.

juan2raid
источник

Ответы:

11

lsof выведет список открытых файлов и идентификаторов связанных процессов. Это перечисляет все, если никакие варианты не даны.

Существует опция, -pчтобы вывести список открытых файлов для одного процесса. Таким образом, для процесса с PID 6714 здесь будут перечислены файлы, открытые этим процессом:

    lsof -p 6714

Для отображения только обычных файлов grep может использоваться для фильтрации вывода lsof:

    lsof -p 6714 | grep REG

Если он должен быть более надежным, чем с помощью grep, то этот -Fпараметр можно использовать, но тогда он становится более сложным. Со страницы руководства lsof :

Когда указана опция -F, lsof создает вывод, который подходит для обработки другой программой, например скриптом awk, Perl или программой на Си.

Это зависит от ваших требований.

Питер Мортенсен
источник
1
Мне нравится добавлять '-b' в lsof, это пойдет немного быстрее. Кроме того, я добавляю 2> / dev / null перед конвейером в grep.
kbyrd