有没有办法在不分叉到 lsof 或 netstat 的情况下将网络连接绑定到 PID(进程 ID)?
目前 lsof 用于轮询哪些连接属于哪个进程 ID。但是 lsof 或 netstat 在繁忙的主机上可能会非常昂贵,并且希望避免使用这些工具。
是否有类似于 /proc/$pid 的地方可以查找此信息?我通过检查 /proc/net 知道网络连接是什么,但无法弄清楚如何将其与 pid 联系起来。在 /proc/$pid 中,似乎没有任何网络信息。
目标主机是 Linux 2.4 和 Solaris 8 到 10。如果可能的话,Perl 中的解决方案,但我愿意做 C/C++。
补充说明:
我想强调这里的目标是将网络连接绑定到 PID。获得其中一个是微不足道的,但是以低成本的方式将两者结合起来似乎很困难。感谢您到目前为止的答案!