UNIXドメインソケットのもう一方の端を保持しているプロセスを把握しようとしています。一部のstrace
出力で、現在デバッグしている問題に関係している特定のファイル記述子を特定しました。その反対側にあるプロセスを知りたいのですが。そのソケットへの接続は複数あるため、パス名を使用するだけでは機能しません。
lsof
次の情報を提供してくれます。
dbus-daem 4175 mvg 10u unix 0xffff8803e256d9c0 0t0 12828 @/tmp/dbus-LyGToFzlcG
したがって、私はいくつかのアドレス(「カーネルアドレス」?)、いくつかのソケット番号、およびパスを知っています。私は他の場所でも同じ情報を見つけることができます:
$ netstat -n | grep 12828
unix 3 [ ] STREAM CONNECTED 12828 @/tmp/dbus-LyGToFzlcG
$ grep -E '12828|ffff8803e256d9c0' /proc/net/unix
ffff8803e256d9c0: 00000003 00000000 00000000 0001 03 12828 @/tmp/dbus-LyGToFzlcG
$ ls -l /proc/*/fd/* 2>/dev/null | grep 12828
lrwx------ 1 mvg users 64 10. Aug 09:08 /proc/4175/fd/10 -> socket:[12828]
しかし、これは私のソケット接続のもう一方の端が何であるかを教えてくれません。どのプロセスがもう一方の端を保持しているのかをどのように知ることができますか?