Linux查看端口占用,定位占用端口进程

在Linux服务器上启动服务时,经常会遇到“Address already in use”的报错,这通常是因为端口被其他进程占用了。
想解决这个问题,第一步就是查看端口占用并定位到具体进程。
下面从零开始,一步步教你用系统自带命令完成排查,不需要额外安装复杂工具。

先确认端口号和协议类型

开始之前,你需要知道两件事:被占用的端口号,以及它使用的是TCP还是UDP。
例如Web服务默认是TCP 80或443,DNS服务则可能用到UDP 53。
大多数场景下排查的是TCP端口。

如果你的服务报错信息里已经给出了端口号,直接使用即可。
如果不确定,可以先用ss -tulnp快速列出所有正在监听的端口,再从中寻找可疑项。

用 ss 命令查看端口占用(推荐)

ss是现代Linux发行版中替代netstat的工具,速度更快,信息也更清晰。
查看TCP端口占用的基本命令是:

ss -tlnp | grep :端口号

例如要查8080端口:

ss -tlnp | grep :8080

输出示例:

LISTEN 0 128 *:8080 *:* users:(("java",pid=12345,fd=78))

这里关键信息是pid=12345,它告诉你占用8080端口的进程ID是12345,进程名是java。

如果想查看所有TCP监听端口及对应进程,可以直接运行:

ss -tlnp

参数解释:-t表示TCP,-l表示监听状态,-n表示不解析服务名(直接显示端口数字),-p表示显示进程信息。
注意,-p选项通常需要root权限才能看到其他用户的进程,所以建议用sudo执行。

对于UDP端口,把-t换成-u即可:

ss -ulnp | grep :端口号

使用 lsof 精准定位进程

如果系统里已经安装了lsof,它也能非常直观地列出端口占用情况。
命令格式如下:

lsof -i :端口号

例如:

lsof -i :3306

输出会显示进程名、PID、用户和协议类型。
若只想看TCP或UDP,可以加上协议限定:

lsof -i tcp:3306

如果提示lsof:
command not found
,
在CentOS/RHEL上可以用yum install lsof安装,
在Ubuntu/Debian上用apt install lsof。

netstat 和 fuser 作为备用方案

有些老系统可能没有ss,但通常会有netstat。
用法类似:

netstat -tlnp | grep :端口号

输出中的最后一列会显示PID/进程名。

另一个轻量工具是fuser,可以直接告诉你哪个进程占用了端口:

fuser 8080/tcp

输出会直接给出PID,例如8080/tcp: 12345。
如果想顺便结束进程,可以加-k参数,但不建议新手贸然使用,以免误杀关键服务。

定位到进程后怎么处理

拿到PID之后,先用ps命令确认这个进程到底是什么:

ps -fp 12345

输出会显示进程的启动命令、运行用户和启动时间。
根据这些信息判断:

  • 如果是自己之前启动的服务,可以用kill 12345正常结束,等待几秒后再次检查端口是否释放。
  • 如果进程属于系统服务(比如nginx、mysql),应优先用systemctl stop 服务名来停止,而不是直接kill。
  • 如果进程无法正常结束,再用kill -9 12345强制终止。强制终止可能导致数据丢失,务必谨慎。

避坑与常见问题

权限不足看不到PID:普通用户执行ss -p或lsof -i时,可能只显示自己的进程。
排查系统级端口时,记得加sudo。

端口显示为*或::::这表示进程监听在所有IPv4或IPv6地址上,属于正常现象,不必担心。

TIME_WAIT状态占用端口:有时端口显示为TIME_WAIT,这通常是连接正常关闭后的等待状态,一般几十秒到几分钟会自动消失,不需要强行处理。

找不到占用进程但端口仍被占用:可能是内核模块或容器占用了端口。
可以尝试ss -tlnp查看是否有容器相关的进程,或者检查iptables转发规则。

操作结果验证

处理完占用进程后,重新运行ss -tlnp | grep :端口号,如果没有任何输出,说明端口已经释放。
此时再启动你的服务,应该就能正常绑定端口了。
养成排查后复查的习惯,可以避免问题反复出现。

如果仍然报错,可以检查是否配置了端口转发或防火墙规则,这些不会显示在ss的监听列表中,但同样会导致端口冲突。

分享到:
上一篇
Redis密码设置,禁止外网无密码访问
下一篇
Linux进程kill命令,强制停止卡死服务
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意