如何从句柄中获取文件名

时间:2012-06-11 14:49:12

标签: process filenames

我想知道1234正在写入的文件进程。

$ strace -etrace=write -p 1234

显示句柄,如何从句柄中获取文件名?

1 个答案:

答案 0 :(得分:0)

  

我想知道1234正在写入的文件进程。

您可以尝试lsof -p

cnicutar@lemon:~$ lsof -p $$
COMMAND   PID     USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
bash    22364 cnicutar  cwd    DIR    8,6     4096  262145 /home/cnicutar
bash    22364 cnicutar  rtd    DIR    8,5     4096       2 /
bash    22364 cnicutar  txt    REG    8,5   955024 2616381 /bin/bash
....
bash    22364 cnicutar    0u   CHR  136,0      0t0       3 /dev/pts/0
bash    22364 cnicutar    1u   CHR  136,0      0t0       3 /dev/pts/0
bash    22364 cnicutar    2u   CHR  136,0      0t0       3 /dev/pts/0

或者你可以进入/proc/PID/fd并查看描述符(使用可能readlink)。