Linux怎么查看端口占用 Linux查询端口被哪个进程占用【技巧】

发布时间 - 2026-01-29 00:00:00    点击率:
Linux中排查端口占用需用ss、lsof、netstat、fuser等工具:ss高效查监听端口及进程;lsof精准定位进程详情;netstat兼容旧系统;fuser可快速终止占用进程;ps配合可交叉验证PID信息。

如果您在Linux系统中启动服务时提示端口已被占用,或需排查网络服务异常,必须确认该端口正被哪个进程监听或连接。以下是多种直接有效的查询方法:

一、使用ss命令查看端口及关联进程

ss(socket statistics)是现代Linux中性能最优的端口状态查询工具,执行速度快、输出简洁,能高效显示监听与非监听状态的套接字,并在权限允许时直接显示进程信息。

1、列出所有正在监听的TCP和UDP端口(不含进程名):
执行命令:ss -tuln

2、精确查找指定端口(如8080)并显示对应进程(需root权限):
执行命令:sudo ss -tulnp | grep :8080

3、仅筛选TCP监听端口且绑定到IPv4地址(排除IPv6干扰):
执行命令:sudo ss -tlnp | grep ':8080'

二、使用lsof命令精准定位占用进程

lsof将网络端口视为“打开的文件”,因此可提供最直观的进程级详情,包括COMMAND、PID、USER、TYPE、NODE等字段,特别适合快速识别冲突源头。

1、检查特定端口(如3306)被哪个进程占用:
执行命令:sudo lsof -i :3306

2、列出所有处于LISTEN状态的TCP端口及其进程(不解析主机名和服务名,提升响应速度):
执行命令:sudo lsof -iTCP -sTCP:LISTEN -P -n

3、若已知进程名(如nginx),反查其监听端口:
执行命令:sudo lsof -i -a -p $(pidof nginx)

三、使用netstat命令兼容旧系统环境

netstat虽在新发行版中逐渐弃用,但在未预装ss或lsof的嵌入式系统、容器基础镜像或老旧服务器中仍具不可替代性,其参数语义清晰,易于记忆和调试。

1、显示全部监听中的TCP/UDP端口及进程(需root权限获取PID和程序名):
执行命令:sudo netstat -tulnp

2、过滤出指定端口(如22)的占用行:
执行命令:sudo netstat -tulnp | grep :22

3、仅以数字形式显示地址与端口,避免DNS解析延迟:
执行命令:sudo netstat -tuln | grep :22

四、使用fuser快速获取并终止占用进程

fuser专为文件与套接字设计,无需解析完整连接状态,可单步获取PID甚至一键终止,适用于运维脚本或紧急释放端口场景。

1、直接输出占用某端口的进程ID(例如80端口):
执行命令:sudo fuser 80/tcp

2、显示详细信息,包括用户、访问类型和命令名:
执行命令:sudo fuser -v 80/tcp

3、强制终止所有占用该端口的进程(慎用):
执行命令:sudo fuser -k 80/tcp

五、组合ps与netstat/ss进行交叉验证

当权限受限无法直接显示进程名时

,可通过PID反向查询进程全路径与启动参数,避免误判僵尸进程或残留子进程。

1、先通过netstat获取目标端口对应的PID(例如5623):
执行命令:netstat -pan | grep :5623

2、根据PID查找完整进程信息:
执行命令:ps -fp 5623

3、进一步查看该进程打开的所有文件与网络连接:
执行命令:lsof -p 5623


# linux  # node  # nginx  # ipv6  # 端口  # 工具  # dns  # linux系统  # udp  # 嵌入式系统  # 已被  # 但在  # 适用于  # 并在  # 您在  # 镜像  # 不含  # 速度快  # 可通过  # 专为 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在腾讯云免费申请建站?  Android仿QQ列表左滑删除操作  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  Laravel如何实现模型的全局作用域?(Global Scope示例)  海南网站制作公司有哪些,海口网是哪家的?  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  Java解压缩zip - 解压缩多个文件或文件夹实例  JavaScript如何实现继承_有哪些常用方法  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  如何快速建站并高效导出源代码?  Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  phpredis提高消息队列的实时性方法(推荐)  Python文件操作最佳实践_稳定性说明【指导】  网站制作大概多少钱一个,做一个平台网站大概多少钱?  专业商城网站制作公司有哪些,pi商城官网是哪个?  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  微信小程序 input输入框控件详解及实例(多种示例)  Linux后台任务运行方法_nohup与&使用技巧【技巧】  Android实现代码画虚线边框背景效果  JavaScript如何实现类型判断_typeof和instanceof有什么区别  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  Laravel如何实现事件和监听器?(Event & Listener实战)  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  使用豆包 AI 辅助进行简单网页 HTML 结构设计  常州企业网站制作公司,全国继续教育网怎么登录?  linux写shell需要注意的问题(必看)  Android使用GridView实现日历的简单功能  微信小程序 wx.uploadFile无法上传解决办法  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  Bootstrap整体框架之JavaScript插件架构  如何在阿里云域名上完成建站全流程?  Laravel如何配置和使用缓存?(Redis代码示例)  香港服务器租用每月最低只需15元?  Laravel怎么上传文件_Laravel图片上传及存储配置  韩国服务器如何优化跨境访问实现高效连接?  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  潮流网站制作头像软件下载,适合母子的网名有哪些?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  IOS倒计时设置UIButton标题title的抖动问题  如何确保FTP站点访问权限与数据传输安全?  如何登录建站主机?访问步骤全解析  Android滚轮选择时间控件使用详解  如何在 Pandas 中基于一列条件计算另一列的分组均值