如何跟踪进程在其生命周期中打开的所有文件


Answers:


25

使用strace命令,可能会像下面这样:

strace -e trace=open program [arguments]

这将显示进程尝试访问的所有文件。有人可能会认为这种strace -e trace=open program [arguments] | grep -v ' = -1 ENOENT'情况可能会改善这种情况,但事实并非如此。后者将无法检测到未完成的内容,然后恢复对的调用open
facetus '16

2
请注意,您需要的信号可能是openat
merlinND

6

我不确定我是否完全了解您要执行的操作。但是,您考虑过strace吗?它显示所有系统调用,包括文件。

编辑:不要忘记-f选项,该选项允许您遵循分支的过程。


1
调试应用程序读取哪些配置文件
Peter Smit 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.