如何找出已開啟檔案的檔案偏移量?

如何找出已開啟檔案的檔案偏移量?

我的問題是, 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,因此您可以把它拿到那裡以及。

相關內容