linux – 如何在不使用lsof或netstat的情况下将网络连接绑定到PID?

前端之家收集整理的这篇文章主要介绍了linux – 如何在不使用lsof或netstat的情况下将网络连接绑定到PID?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法将网络连接与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绑定.得到一个或另一个是微不足道的,但把这两个人以低成本的方式组合似乎是困难的.感谢您到目前为止的答案!

解决方法

我不知道你需要轮询多长时间,或者你的意思是“昂贵”,但是正确的选项,netstat和lsof比默认配置运行得快很多.
例子:
netstat -ltn

显示侦听tcp套接字,并且默认情况下省略(慢)名称解析.

lsof -b -n -i4tcp:80

省略所有阻塞操作,名称解析,并将选择限制在端口80上的IPv4 tcp套接字.

猜你在找的Linux相关文章