私の問題は、
lsof -p pid
プロセス ID が pid であるプロセスの開かれたファイルのリストを見つけることができることです。しかし、アクセスされた各ファイルのファイル オフセットを見つける方法はありますか?
何か提案をいただけませんか?
答え1
N
Linux では、プロセスのファイル記述子番号の位置をPID
で見つけることができます/proc/$PID/fdinfo/$N
。例:
$ cat /proc/687705/fdinfo/36
pos: 26088
flags: 0100001
同じファイルを複数のファイル記述子を使用して異なる位置で複数回開くことができるため、複数ある場合は適切なものを選択する必要があります。以下を使用します。
$ readlink /proc/$PID/fd/$N
対応するファイル記述子が添付されているファイルが何であるかを知る (ファイルではない可能性があり、この場合はシンボリックリンクがぶら下がっています)。
答え2
lsof
オプションを使用してこれを行うことができます-o
。
Linuxでは、から情報を取得する/proc
ので、そこへ持って行ってください同じように。