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