可以 strace 显示读/写系统调用的文件名/路径

Ama*_*rus 12 strace

如果在 Linux 上,我 strace 一个进程,那么读取和写入将显示文件描述符句柄号。如果我查看,/proc/$PID/fd我可以看到与 fd 编号(如果适用)对应的文件的符号链接。

无论如何让strace为我做这个查找并(通过取消引用符号链接)向我显示strace输出中的文件名?它已经查找 Linux errno 并截断和编码字符串,那么它也可以这样做吗?

更新:我知道 strace 会显示open显示路径和 fd的调用。这对于短期运行的进程来说很好。但是假设我有一个很长的运行过程(以天为单位),并且没有在 strace 下运行整个过程,只是稍后使用strace -p.

thr*_*rig 21

快速浏览一下精美的手册:

   -y          Print paths associated with  file  descriptor  argu-
               ments.
Run Code Online (Sandbox Code Playgroud)