如何在任何命令完成之前列出其文件描述符?

如何在任何命令完成之前列出其文件描述符?

通过执行 可以轻松列出文件描述符ls -l /proc/$PID_OF_RUNNING_OR_PAUSED_PROCESS/fd/。但列出时命令必须正在运行或暂停,文件描述符才能存在。如何对执行后立即完成的进程执行相同操作?有没有办法在命令执行后立即暂停它?(例如ls -l /var/log/messages

答案1

您可以运行一个进程strace并让它显示所有打开的文件(和目录):

strace -o cmd.strace -e trace=open cmd

相关内容