Linux でプロセスを strace すると、読み取りと書き込みがファイル記述子のハンドル番号とともに表示されます。中を見ると、/proc/$PID/fd
fd 番号に対応するファイルへのシンボリック リンク (該当する場合) が表示されます。
strace にこの検索を実行させて、(シンボリックリンクを逆参照して) strace 出力内のファイル名を表示させる方法はありますか? strace はすでに Linux errno を検索し、文字列を切り捨ててエンコードしているので、これも実行できますか?
アップデート:strace がパスと fd を示す呼び出しを表示していることはわかっていますopen
。これは、実行時間が短いプロセスには適しています。ただし、非常に長い時間実行されているプロセス (数日間) があり、すべてを strace で実行せず、後で で接続しただけであると仮定しますstrace -p
。
答え1
素晴らしいマニュアルをざっと見てみると、次のことがわかります。
-y Print paths associated with file descriptor argu-
ments.