linux查端口被哪个服务器,如何查看端口占用进程命令

在Linux系统中,查询端口被哪个进程或服务占用,最直接的答案是使用 lsof -i:端口号 或 ss -ltnp 命令,二者都能清晰显示PID和进程名称。 这个问题在运维排障、开发联调时几乎每天都会遇到,尤其是当你启动服务提示“端口已被占用”时,快速定位元凶就成了第一步。

linux查看端口被哪个进程占用:首选lsof命令

lsof 是Linux下专门列出打开文件的工具,而网络连接在Linux里也被视为文件,因此用它查端口非常直观。

基础用法:

lsof -i:8080

输出结果会包含 COMMAND(进程名)、PID(进程号)、USER(运行用户)、FD、TYPE、DEVICE、SIZE/OFF、NODE、NAME(监听地址和端口)。

  • 看到 java 1234 root 46u IPv6 12345 TCP :8080 (LISTEN),就说明PID为1234的java进程占用了8080端口。
  • 如果只想看监听状态,追加 -sTCP:LISTEN:lsof -i:8080 -sTCP:LISTEN。

配合杀进程:拿到PID后,执行 kill -9 1234 即可强制结束进程,如果权限不够,加上 sudo。

使用ss命令查看端口占用情况

较新版本的Linux发行版普遍使用 ss 替代 netstat,查看监听端口的命令为:

linux查端口被哪个服务器,如何查看端口占用进程命令

ss -ltnp | grep :8080

参数含义:

  • -l 仅显示监听socket
  • -t 仅显示TCP连接
  • -n 以数字方式显示端口和IP,避免反向解析
  • -p 显示进程信息(需要root权限)

输出中常见 users:(("nginx",pid=2345,fd=6)),直接告诉你进程名和PID,如果没显示PID,请加 sudo,这是排查“linux查端口被哪个服务占用”时最高效的现代方案。

老牌netstat命令依旧可用

虽然部分发行版已不再默认安装 netstat,但很多老系统上它仍是主力,用法类似:

netstat -tlnp | grep :3306

-t TCP协议、-l 监听、-n 数字显示、-p 程序名,同样需要root权限才能看到进程名,如果提示 command not found,在CentOS上可用 yum install net-tools,在Ubuntu上可用 apt install net-tools 安装。

linux netstat和lsof查看端口占用对比

很多新手会纠结该用哪个命令,实际上二者侧重不同,行业共识是:优先用ss,其次lsof,netstat留作兼容老系统,下表可以直观对比:

linux查端口被哪个服务器,如何查看端口占用进程命令

对比项 netstat lsof ss
安装情况 需要net-tools包 需要lsof包 系统自带(iproute2)
查看端口占用 netstat -tlnp lsof -i:端口 ss -ltnp
显示进程名 需root 需root或属主 需root
输出速度 较慢 中等 极快
适用场景 老系统兼容 精确查单个端口 现代Linux默认推荐

在脚本排查中,ss 因速度快而更适合批量检查端口;lsof 的优势在于能同时查看socket文件、设备文件等,当你需要确认某个端口是否被UDP或Unix socket占用时,lsof 更灵活,多数情况下,先用 ss -ltnp 扫一眼全貌,再用 lsof -i:端口 精确锁定,是效率最高的组合。

8080端口被占用怎么解决Linux:实战排查步骤

这里用一个常见场景演示完整排查过程,假设你启动Spring Boot应用时得到错误提示:Port 8080 was already in use.

第一步:确认占用者。

sudo lsof -i:8080

如果输出为空,改用UDP检查:sudo lsof -iUDP:8080,或者用 ss -ulnp | grep 8080。

第二步:根据PID定位进程详情。

ps -ef | grep 8080

但这里的8080是端口号,不是进程号,正确做法是使用第一步得到的PID,执行:

ps -p 1234 -f

linux查端口被哪个服务器,如何查看端口占用进程命令

或者直接看进程启动路径:

readlink -f /proc/1234/cwd

这样能区分是哪个项目目录下的进程,避免误杀。

第三步:按需处理。

  • 如果是残留进程,直接结束:kill -9 1234
  • 如果是合法服务占用了端口,要么换端口启动新服务,要么调整旧服务配置,例如Nginx默认占用80端口,你不想停掉它,就把新应用改到8081端口。

第四步:验证结果。

ss -ltnp | grep 8080

无输出即表示端口已释放,此时再启动你的服务即可。

常见问题Q&A

为什么普通用户执行lsof -i:8080看不到进程名?

因为非root用户只能看到自己拥有的进程信息,如果端口被其他用户的进程占用,必须使用 sudo 才能显示完整的PID和COMMAND,这是Linux权限隔离的正常表现,并非命令异常。

无法安装lsof时如何查看端口占用?

使用系统自带的 ss 命令几乎能完全替代。ss -ltnp 就是标准答案。ss 也不存在(内核极老),则尝试 /proc/net/tcp 配合十六进制端口转换,但这种方式过于繁琐,实际运维中更推荐先安装 lsof 或 net-tools,部分容器镜像为精简体积未包含这些工具,执行 apt update && apt install lsof 或 yum install -y lsof 即可。

图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/757085.html

赞 (0)
上一篇 2026年8月31日 11:49
下一篇 2026年8月31日 11:51

相关推荐

  • 雄安app开发公司哪家好,app开发公司

    在2026年,选择雄安app开发公司需优先考察其是否具备“信创适配”能力、国资背景合作经验及本地化运维团队,建议通过对比“定制开发”与“SaaS模板”的成本效益,选择拥有国家级项目案例且支持私有化部署的服务商,2026年雄安数字化建设的新标准随着雄安新区进入全面承接北京非首都功能疏解的关键期,数字化转型已从“基……

    2026年7月5日
    01355
  • 手机站开发工具哪个好用?,手机站开发工具有哪些?

    移动端测试工具推荐百度移动端友好度检测工具:官方提供,直接反馈页面在百度搜索中的表现,Google Mobile-Friendly Test:国际通用,检测页面在移动端的可用性,Lighthouse:集成性能、SEO、PWA评分,输出量化指标,BrowserStack:真实设备云测试,覆盖多分辨率与系统版本,在……

    2026年7月18日
    01313
    • 服务器间歇性无响应是什么原因?如何排查解决?

      根源分析、排查逻辑与解决方案服务器间歇性无响应是IT运维中常见的复杂问题,指服务器在特定场景下(如高并发时段、特定操作触发时)出现短暂无响应、延迟或服务中断,而非持续性的宕机,这类问题对业务连续性、用户体验和系统稳定性构成直接威胁,需结合多维度因素深入排查与解决,常见原因分析:从硬件到软件的多维溯源服务器间歇性……

      2026年1月10日
      020
  • 微信端wap开发价格多少?影响因素及性价比分析?

    微信端WAP开发价格:全面解析与比较微信端WAP开发概述随着移动互联网的快速发展,微信已成为我国用户数量最多的社交平台,越来越多的企业开始重视微信端WAP开发,以提升用户体验,拓展市场,微信端WAP开发是指基于微信平台,为用户提供便捷、高效的服务和体验,本文将为您全面解析微信端WAP开发价格,帮助您了解市场行情……

    2025年12月26日
    02890
  • 武汉商城微信开发怎么做?武汉商城微信开发公司哪家好

    在2026年,武汉商城微信开发已不再是简单的功能堆砌,而是基于本地化商业闭环与AI智能导购的深度重构,其核心价值在于通过合规的私域流量运营实现转化率提升30%以上,2026年武汉商城微信开发的核心趋势与战略定位从“工具属性”向“智能商业体”的范式转移随着微信生态在2026年全面接入AI大模型底层能力,武汉地区的……

    2026年5月7日
    07663

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注