linux怎么查看程序占用哪个端口号

来源:AI大模型作者:樱由罗头衔:网络博主
导读:本期聚焦于小伙伴创作的《linux怎么查看程序占用哪个端口号》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《linux怎么查看程序占用哪个端口号》有用,将其分享出去将是对创作者最好的鼓励。

在Linux系统中,程序运行时会绑定对应的端口号来提供网络服务,当遇到端口冲突、需要排查异常进程或者确认服务运行状态时,就需要查询程序占用的端口号。常用的查询工具包括netstat、lsof、ss等,不同工具的使用方式和适用场景有所区别。

使用lsof命令查询

lsof是列出当前系统打开文件的工具,在Linux中一切皆文件,网络连接也属于文件范畴,因此可以通过lsof直接查询程序占用的端口。如果要查询指定程序占用的端口,可以使用-c参数指定程序名称,或者使用-p参数指定进程ID。

查询指定程序名占用的端口示例:

# 查询nginx程序占用的所有端口
lsof -c nginx -i
# 只显示TCP端口
lsof -c nginx -iTCP
# 只显示UDP端口
lsof -c nginx -iUDP

如果要查询指定端口被哪个程序占用,可以使用-i:端口号参数:

# 查询8080端口被哪个程序占用
lsof -i:8080

输出结果中,COMMAND列是程序名称,PID是进程ID,NAME列会显示对应的端口号和连接状态。

使用netstat命令查询

netstat是传统的网络状态查询工具,可以显示网络连接、路由表、接口统计等信息。虽然现在很多系统推荐使用ss替代netstat,但netstat的使用场景依然很广泛。查询程序占用端口时,通常需要结合-tulnp参数使用。

参数含义说明:

  • -t:显示TCP连接
  • -u:显示UDP连接
  • -l:只显示监听状态的端口
  • -n:以数字形式显示地址和端口号,不解析服务名称
  • -p:显示占用端口的进程ID和程序名称

查询所有监听端口及对应程序的示例:

# 查询所有TCP和UDP监听端口及对应程序
netstat -tulnp

如果要过滤指定程序的端口,可以结合grep命令使用:

# 查询nginx程序占用的端口
netstat -tulnp | grep nginx
# 查询8080端口对应的程序
netstat -tulnp | grep :8080

使用ss命令查询

ss是socket统计工具,是netstat的现代替代方案,功能更强大,查询速度也更快,在很多新版本的Linux系统中已经默认安装了ss。ss的参数和netstat类似,查询程序占用端口时同样可以使用-tulnp参数。

查询所有监听端口及对应程序的示例:

# 查询所有TCP和UDP监听端口及对应程序
ss -tulnp

过滤指定程序的端口示例:

# 查询nginx程序占用的端口
ss -tulnp | grep nginx
# 查询8080端口对应的程序
ss -tulnp | grep :8080

根据进程ID查询端口

如果已经知道程序的进程ID,也可以通过/proc文件系统直接查询该进程打开的所有网络连接,从而获取占用的端口号。

示例:假设进程ID是1234,查询该进程占用的端口:

# 查看进程1234打开的所有网络连接
ls -l /proc/1234/fd | grep socket
# 结合ss命令查询对应的端口信息
ss -p | grep 1234

常见问题说明

如果执行上述命令时提示权限不足,需要在命令前加上sudo获取管理员权限,否则可能无法显示所有进程的信息。另外,如果程序已经退出但端口还处于TIME_WAIT状态,此时查询到的端口不会对应到具体的程序,属于正常的网络状态。

不同命令的输出格式略有区别,但核心信息都包含程序名称、进程ID、协议类型、本地地址和端口号,用户可以根据自己的使用习惯选择合适的命令进行查询。

netstatlsofss端口占用查询修改时间:2026-07-11 12:54:25

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。