我的问题是,
lsof -p pid
我可以找到进程 id 为 pid 的进程的打开文件列表。但是有没有办法找出每个访问文件的文件偏移量?
请给我一些建议?
答案1
在Linux上,您可以在 中找到N
进程的文件描述符号的位置。例子:PID
/proc/$PID/fdinfo/$N
$ cat /proc/687705/fdinfo/36
pos: 26088
flags: 0100001
同一个文件可以使用多个文件描述符在不同的位置打开多次,因此在有多个文件描述符的情况下,您必须选择相关的文件描述符。使用:
$ readlink /proc/$PID/fd/$N
了解相应文件描述符附加到的文件是什么(它可能不是文件,在这种情况下符号链接是悬空的)。
答案2
lsof
可以通过选项来做到这一点-o
。
在 Linux 下,它从 获取信息/proc
,因此您可以把它拿到那里以及。