開いているファイルのファイルオフセットを確認する方法


26

私の問題は lsof -p pid 、プロセスIDがpidであるプロセスの開いているファイルのリストを見つけることができることです。しかし、アクセスした各ファイルのファイルオフセットを見つける方法はありますか?

提案をお願いします。

回答:


38

Linuxでは、ファイルディスクリプタ番号の位置を見つけることができるNプロセスのPID中に/proc/$PID/fdinfo/$N。例:

$ cat /proc/687705/fdinfo/36
pos:    26088
flags:  0100001

同じファイルを複数のファイル記述子を使用して異なる位置で複数回開くことができるため、複数のファイル記述子がある場合は、関連するファイル記述子を選択する必要があります。つかいます:

$ readlink /proc/$PID/fd/$N

対応するファイル記述子が添付されているファイルが何かを知るために(ファイルではない可能性があり、この場合はシンボリックリンクがぶら下がっています)。


1
あなたの答えは素晴らしいです。
Taのタンディン

12

lsof-oオプションでこれを行うことができます。

Linuxでは、情報はから取得されるため、そこからも取得/procできます


最後の質問から長い時間が経ちましたが、私はここに長い間いません。答えてくれてありがとう。
Taのタンディン

私もこれが機能することを確認できます。ただし、オフセットは16進数で指定されます。
ベンジャミン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.