開いたファイルのファイルオフセットを調べるにはどうすればいいですか?

開いたファイルのファイルオフセットを調べるにはどうすればいいですか?

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

何か提案をいただけませんか?

答え1

NLinux では、プロセスのファイル記述子番号の位置をPIDで見つけることができます/proc/$PID/fdinfo/$N。例:

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

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

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

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

答え2

lsofオプションを使用してこれを行うことができます-o

Linuxでは、から情報を取得する/procので、そこへ持って行ってください同じように。

関連情報