一条命令查清端口被谁占了

举报
yd_213781742 发表于 2026/11/09 09:15:58 2026/11/09
【摘要】 服务启动报端口占用?用 ss -lntp 精确定位监听进程,配合 lsof 看连接;容器场景要进容器复查,并注意 127.0.0.1 与 0.0.0.0 的监听差异。

启动服务时报 Address already in use,先定位再动手,别急着重启。

1. 看监听进程

ss -lntp 'sport = :8080'

-l 只看监听态,-n 不解析域名,-t 限 TCP,-p 显示进程。比 netstat 快,很多新系统干脆没装 netstat。

2. 要看连接就换 lsof

lsof -i :8080 -P -n

它同时列出监听和已建立的连接,"端口通但服务没响应"时很好用。

3. 容器场景要再查一层

宿主机上看到的可能是 docker-proxy,真正的进程在容器里:

docker ps --format '{{.Names}}\t{{.Ports}}' | grep 8080
docker exec -it <容器名> ss -lntp

最容易踩的坑:看地址是 127.0.0.1:8080 还是 0.0.0.0:8080。前者只监听本机,外网必定不通,先确认这个再查防火墙。

小结:ss -lntp 找监听者,lsof -i 看连接,容器内再复查一遍。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。