CentOS下如何查找与IP 172.18.0.1相关联的运行进程
CentOS 查找指定 IP 关联运行进程的方案
你当前查询到的连接记录为本地172.18.0.1的57332端口向对端172.18.0.6:8444发起的TCP连接,处于FIN_WAIT2状态,要找到对应的关联进程可使用以下几种方法:
- 方法1:使用带进程展示参数的netstat命令
netstat默认不带-p参数不会显示进程关联信息,直接执行以下命令即可匹配对应连接的进程:
netstat -anp | grep "172.18.0.1:57332"
输出结果的最后一列就是PID/进程名,注意该命令需要root权限才能查看所有进程的关联信息,非root用户执行时需在命令前加sudo。
- 方法2:使用ss命令查询(CentOS 7及以上版本更推荐)
ss是iproute2组件自带的网络查询工具,查询效率远高于netstat,执行以下过滤命令即可:
ss -tanp 'src 172.18.0.1 and sport = :57332'
输出结果中的users字段会直接展示对应的进程PID和名称,同样需要root权限才能完整展示所有进程信息。
- 方法3:使用lsof工具查询端口关联进程
lsof可以列出系统中所有被打开的文件关联信息,网络端口属于特殊的虚拟文件,执行以下命令即可查询:
lsof -i @172.18.0.1:57332
注意:FIN_WAIT2状态的TCP连接是本地进程已经主动发起断开请求,仅等待对端返回FIN确认包的中间状态,连接占用的端口会在超时后被内核回收。如果执行上述命令查不到对应进程,说明关联进程已经主动退出,仅残留未完全回收的连接记录。
内容的提问来源于stack exchange,提问作者Zaks
相关产品推荐
相关产品推荐

