我想知道 1234 正在写入什么文件进程。
$ strace -etrace=write -p 1234
显示句柄,如何从句柄中获取文件名?
我想知道 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
并查看描述符(使用 maybe readlink
)。