Linux如何查看端口占用_netstat与ss命令定位占用来源实战讲解【教程】

发布时间 - 2025-12-18 00:00:00    点击率:
推荐优先使用 ss 查看端口占用,因其更快更轻量;ss -tuln 查监听端口,加 -p(需 root)显示进程,netstat 仅用于旧系统兼容。

Linux 查看端口占用,最常用也最有效的是 ssnetstat,但要注意:netstat 已被逐步淘汰,ss 是现代替代方案,更快更轻量,推荐优先使用。

用 ss 快速查端口占用(推荐)

ss(socket statistics)是 iproute2 套件的一部分,内核级支持,响应快、信息全。查看某端口(比如 8080)是否被占用:

  • ss -tuln | grep :8080 —— 查监听中的 TCP/UDP 端口(-t TCP, -u UDP, -l 仅显示监听, -n 不解析名称)
  • ss -tulnp | grep :8080 —— 加 -p 显示进程名和 PID(需 root 权限,普通用户会提示 "Permission denied")
  • 若看到类似 LISTEN 0 128 *:8080 *:* users:(("nginx",pid=1234,fd=6)),说明 nginx 进程(PID 1234)占用了 8080

用 netstat 查端口(兼容旧系统)

netstat 属于 net-tools 包,部分新发行版默认不安装(如 Ubuntu 22.04+、CentOS 8+),需手动装:sudo apt install net-toolssudo yum install net-tools

  • netstat -tuln | grep :3306 —— 查 MySQL 默认端口
  • netstat -tulnp | grep :3306 —— 加 -p 显示进程(同样需要 sudo)
  • 输出示例:tcp6 0 0 :::3306 :::* LISTEN 1234/mysqld,其中 1234 是 PID,mysqld 是进程名

查到 PID 后怎么操作?

拿到占用端口的进程 PID(比如 1234),可进一步确认或处理:

  • ps -p 1234 -o pid,ppid,cmd,%mem,%cpu —— 查进程详细信息
  • lsof -i :8080 —— 另一种方式(需安装 lsof:sudo apt install lsof),输出更直观
  • 如需结束进程:sudo kill 1234(温和终止)或 sudo kill -9 1234(强制终止)

常见问题与注意点

  • 非 root 用户执行 -p 参数会看不到进程名,直接报错或空白 —— 记得加 sudo
  • 某些服务(如 Docker 容器、systemd socket 激活服务)可能显示为 docker-proxysystemd 占用端口,需结合 docker pssystemctl list-sockets 追踪
  • IPv6 地址(:::80)和 IPv4(*:80)可能分开显示,ss -tuln 默认都包含,不用额外加参数
  • 如果端口“查不到占用”,但启动服务仍报“Address already in use”,可能是 TIME_WAIT 状态残留,可用 ss -tan state time-wait | grep :8080 检查

基本上就这些。ss 是当前首选,netstat 用于过渡或排查老环境;关键是加 -p 看进程、用 sudo 提权、结合 pslsof 交叉验证。不复杂但容易忽略权限和协议细节。


# mysql  # linux  # centos  # docker  # nginx  # ipv6  # 端口  # ubuntu  # ai  # proxy  # 常见问题  # udp  # 更快  # 的是  # 已被  # 用了  # 报错  # 如需  # 套件  # 因其  # 但要  # 最有效 


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


相关推荐: 广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  Laravel模型事件有哪些_Laravel Model Event生命周期详解  公司门户网站制作流程,华为官网怎么做?  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  如何在服务器上三步完成建站并提升流量?  googleplay官方入口在哪里_Google Play官方商店快速入口指南  如何为不同团队 ID 动态生成多个非值班状态按钮  如何利用DOS批处理实现定时关机操作详解  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  iOS发送验证码倒计时应用  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  如何在阿里云域名上完成建站全流程?  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  高端建站三要素:定制模板、企业官网与响应式设计优化  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  微信小程序 闭包写法详细介绍  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程  高防服务器租用指南:配置选择与快速部署攻略  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  青岛网站建设如何选择本地服务器?  网易LOFTER官网链接 老福特网页版登录地址  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  北京企业网站设计制作公司,北京铁路集团官方网站?  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  php打包exe后无法访问网络共享_共享权限设置方法【教程】  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  如何在阿里云虚拟服务器快速搭建网站?  如何在万网ECS上快速搭建专属网站?  Laravel如何发送系统通知?(Notification渠道示例)  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  lovemo网页版地址 lovemo官网手机登录  韩国服务器如何优化跨境访问实现高效连接?  C++时间戳转换成日期时间的步骤和示例代码  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  nginx修改上传文件大小限制的方法  如何用JavaScript实现文本编辑器_光标和选区怎么处理