1

我被分配到一个没有文档和大量非托管代码的项目。整个项目中都有明确声明的路径(实际上,它们是在不同位置设置为不同值的环境变量)指向输出文件。我已经更改了这些以将输出重定向到我的工作区中的目录,但是没有生成文件,我也无法在我的工作区中找到它们。我相信它们是在文件系统的其他地方创建的。正如我之前提到的,通过使用脚本,可以在许多不同的地方分配环境变量。我以为我已经得到了相关的脚本,但显然我错过了一些东西。

是否有一个实用程序可以用来跟踪特定可执行文件的所有文件输出(打印出所有读/写的文件名)?

我在 Fedora 下工作,该项目主要是用 Fortran 编写的。

4

2 回答 2

5

strace 将打印每个系统调用的详细信息,您可以简单地过滤输出以调用 open()。

于 2011-06-23T19:12:26.753 回答
2

一种选择是lsof例如

lsof -p <PID>
于 2011-06-23T19:41:35.090 回答