通过执行 可以轻松列出文件描述符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
通过执行 可以轻松列出文件描述符ls -l /proc/$PID_OF_RUNNING_OR_PAUSED_PROCESS/fd/
。但列出时命令必须正在运行或暂停,文件描述符才能存在。如何对执行后立即完成的进程执行相同操作?有没有办法在命令执行后立即暂停它?(例如ls -l /var/log/messages
)
您可以运行一个进程strace
并让它显示所有打开的文件(和目录):
strace -o cmd.strace -e trace=open cmd