私の問題は、
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
次のことができます。そこに持っていくしかも。