首页 > 运维 > linux运维 > 正文

Linux如何查看端口被哪个进程占用_Linux端口冲突排查步骤

舞姬之光
发布: 2025-11-22 21:26:02
原创
140人浏览过
要解决Linux中“Address already in use”错误,需定位占用端口的进程。1. 使用netstat -tulnp | grep :端口号查看占用进程;2. 用lsof -i :端口号列出相关进程信息;3. 推荐使用ss -tulnp | grep :端口号快速排查;4. 根据PID确定进程后,通过kill命令终止或调整配置避免冲突,必要时更换端口或停止重复实例。

linux如何查看端口被哪个进程占用_linux端口冲突排查步骤

在Linux系统中,当启动服务出现“Address already in use”错误时,通常是因为端口被其他进程占用。要解决这类问题,需要快速定位是哪个进程占用了目标端口。以下是实用的排查步骤和命令。

1. 使用 netstat 查看端口占用情况

netstat 是一个网络统计工具,可以显示当前所有活动的连接和监听端口。

查看指定端口(如 8080)被谁占用:
  • netstat -tulnp | grep :8080
参数说明:
  • -t:显示 TCP 连接
  • -u:显示 UDP 连接
  • -l:仅显示监听状态的端口
  • -n:以数字形式显示地址和端口号
  • -p:显示占用端口的进程 PID 和名称

输出结果中,最后一列会显示 PID/进程名,据此可进一步处理。

2. 使用 lsof 命令查看端口进程

lsof(list open files)可以列出打开的文件,包括网络连接。

查看 8080 端口的占用进程:
  • lsof -i :8080

输出包含 COMMAND、PID、USER、FD、TYPE、DEVICE、SIZE/OFF、NODE、NAME 等信息。重点关注 PID 和 COMMAND。

常见操作:
  • 杀掉占用进程:kill -9 PID
  • 查看进程详细信息:ps aux | grep PID

3. 使用 ss 命令快速排查(推荐)

ss 是新一代的 socket 统计工具,比 netstat 更快更高效。

ListenLeap
ListenLeap

AI辅助通过播客学英语

ListenLeap 101
查看详情 ListenLeap
查看监听中的端口及对应进程:
  • ss -tulnp | grep :8080

输出格式与 netstat 类似,但响应更快,尤其适合高并发环境。

4. 处理占用进程的后续操作

查到占用端口的进程后,根据实际情况决定如何处理:

  • 确认是否为必要服务:如果是误启动或测试服务,可以直接终止
  • 使用 kill PID 正常关闭,若无响应再用 kill -9 PID
  • 修改应用配置,更换端口号避免冲突
  • 检查是否有多个实例重复启动

例如,发现是 Java 应用占用,可通过 ps aux | grep java 查看具体是哪个 jar 包启动的。

基本上就这些。掌握 netstat、lsof 和 ss 三个命令,就能快速定位 Linux 下端口冲突问题。建议优先使用 sslsof,效率更高。排查时注意权限,部分命令可能需要 root 或 sudo 权限才能看到完整信息。

以上就是Linux如何查看端口被哪个进程占用_Linux端口冲突排查步骤的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号