Как отследить все выходные файлы из исполняемого файла, если это возможно ?: - PullRequest
1 голос
/ 23 июня 2011

Я был назначен на проект без документации и большого количества неуправляемого кода. В проекте есть явно объявленные пути (и на самом деле это переменные среды, для которых в разных местах заданы разные значения), которые указывают на выходные файлы. Я изменил их, чтобы перенаправить вывод в каталоги в моей рабочей области, но пока файлы не создаются, и я не могу найти их в своей рабочей области. Я считаю, что они создаются где-то еще в файловой системе. Как я упоминал ранее, есть много разных мест, которым присваиваются переменные среды, с использованием сценариев. Я думал, что получил соответствующие сценарии, но, видимо, я что-то упустил.

Есть ли утилита, которую я могу использовать для отслеживания всего вывода файла из определенного исполняемого файла (распечатать все имена файлов для чтения / записи)?

Я работаю под Fedora, и проект написан в основном на Fortran.

Ответы [ 2 ]

5 голосов
/ 23 июня 2011

strace будет печатать детали для каждого системного вызова, вы можете просто отфильтровать вывод для вызовов open ().

2 голосов
/ 23 июня 2011

Один из вариантов: lsof, например,

lsof -p <PID>
...