lsof または netstat に fork せずに、ネットワーク接続を PID (プロセス ID) に関連付ける方法はありますか?
現在、lsof は、どの接続がどのプロセス ID に属しているかをポーリングするために使用されています。ただし、ビジー状態のホストでは lsof や netstat は非常に高価になる可能性があるため、これらのツールに fork する必要は避けたいと考えています。
/proc/$pid のような場所で、この情報を見つけることができますか? /proc/net を調べて、ネットワーク接続が何であるかを知っていますが、これを pid に結び付ける方法がわかりません。/proc/$pid には、ネットワーク情報がないようです。
ターゲット ホストは、Linux 2.4 および Solaris 8 ~ 10 です。可能であれば、Perl でのソリューションですが、C/C++ を実行したいと考えています。
その他の注意事項:
ここで強調したいのは、ネットワーク接続を PID に結び付けることです。どちらか一方を取得するのは簡単ですが、2 つを低コストで組み合わせるのは難しいようです。これまでの回答ありがとうございます!