当前位置: 首页 > news >正文

在 Linux 下怎么查看谁在使用 80 端口?

在 Linux 下查看 80 端口占用,最稳妥的方式是使用sslsof命令配合 sudo 权限,既能看到进程 ID 也能看到程序名称,适合快速排查服务启动冲突。

先说结论:优先使用ss -tulnp | grep :80sudo lsof -i :80定位进程,确认无误后再终止占用。

  • 先确认:用命令查看端口对应的 PID 和进程名,避免误杀系统服务。
  • 先处理:根据业务需求停止服务或杀死进程,生产环境慎用强制杀。
  • 再验证:重新执行查询命令确认端口已释放,再启动目标服务。

命令速用版

如果你赶时间,可以直接复制以下命令到终端执行:

# 方法 1:使用 ss 命令(推荐,速度快,现代 Linux 默认自带) sudo ss -tulnp | grep :80 # 方法 2:使用 lsof 命令(信息详细,需安装) sudo lsof -i :80 # 方法 3:使用 fuser 命令(直接看 PID,需安装) sudo fuser -v 80/tcp

工具缺失怎么办

部分最小化安装的系统可能缺少lsofnet-tools(含 netstat/fuser),可通过包管理器安装:

# Ubuntu/Debian 系列 sudo apt update sudo apt install lsof net-tools # CentOS/RHEL 系列 sudo yum install lsof net-tools # 或 sudo dnf install lsof net-tools

分步处理

第一步:定位占用进程

执行sudo ss -tulnp | grep :80。输出结果中最后一列通常显示pid/程序名,例如1234/nginx,这里的 1234 就是进程 ID。

第二步:判断进程性质

拿到 PID 后,不要急着杀。先执行ps -p 1234 -o pid,ppid,cmd看看这个进程到底是什么。如果是你自己运行的测试服务,可以直接停;如果是系统关键服务(如系统自带的 Apache),需要评估影响。

第三步:终止占用进程

确认可以终止后,优先尝试优雅停止(发送 SIGTERM 信号):

sudo kill -15 1234

如果服务是通过 systemd 管理的,建议使用服务管理命令:

sudo systemctl stop nginx

如果无效,再考虑强制终止(发送 SIGKILL 信号,可能导致数据丢失):

sudo kill -9 1234

也可以使用fuser一键释放(高危操作,会杀死所有监听该端口的进程):

sudo fuser -k 80/tcp

怎么验证是否生效

处理完后,再次运行查询命令:

sudo ss -tulnp | grep :80

如果没有输出内容,说明端口已释放。此时再尝试启动你的服务,观察是否报错。如果服务启动了,可以用curl -I http://localhost看看能否正常响应。

常见坑

1.权限不足:不加sudo可能看不到其他用户的进程信息,导致查不到 PID。

2.容器环境:如果是 Docker 容器占用,需要在宿主机查容器进程,或进入容器内部排查。

3.TIME_WAIT 状态:有时进程已杀但端口仍处于等待状态,稍等几十秒再试,不要频繁强制杀进程。

4.命令缺失:部分最小化安装的系统可能没有lsofnetstat,需用包管理器安装或改用ss

参考建议

遇到不确定的命令参数,可使用man <命令>查看官方手册,例如man ssman lsof

来源 https://www.zjcp.cc/ask/10840.html

http://www.jsqmd.com/news/799353/

相关文章:

  • 详解 Deepsec:Vercel 开源 AI 代码安全防护工具的技术架构与实现原理
  • 【计算机毕业设计】基于Springboot的纺织品企业财务管理系统设计与实现+LW
  • 【WPF】Blend实战:从零构建流畅UI动画
  • qt5.14.2连mysql8.0
  • ARM926EJ-S指令缓存架构与调试技术详解
  • C# 绘制直线 圆形 矩形(工业上位机)
  • 【数学建模】雾霾问题的建模和仿真分析的MATLAB代码
  • 文献阅读 260511-Wildfire damages and the cost-effective role of forest fuel treatments
  • 基于MCP协议实现AI助手个性化:Terminal Buddies项目实战解析
  • 【计算机毕业设计】基于Springboot的医院后台管理系统设计与实现+LW
  • 小白也能上手!OpenClaw 2.6.4 Windows 一键部署本地 AI 智能体
  • NCCL watchdog timeout 先别只会加 timeout:PyTorch 新出的 Flight Recorder,真正值钱的是能把第一处 collective 分歧揪出来
  • 时序数据库查询新思路:用InfluxDB的SELECT、LIMIT、OFFSET玩转IoT设备历史数据分页
  • 工厂6S搞了没效果?精益生产6S红牌作战实操,30天打造标杆车间!
  • C++ Modbus通信中Long与Float数据解析的字节序处理实战
  • 大一蓝桥杯。卡片
  • MyBili更新至v1.3.0:越来越像“真正适合电视”的B站客户端了
  • 从立体角到坎德拉:揭秘发光强度的核心计算与工程权衡
  • 5大核心功能揭秘:GTA5线上小助手如何彻底改变你的洛圣都冒险体验
  • Swarmocracy:基于蜂群智能的分布式组织决策模拟实践
  • 用PyTorch从零实现REINFORCE算法:一个完整的离散与连续动作空间实战教程
  • shot2:从截图到智能监控,构建自动化视觉信息采集引擎
  • OpenClaw Hooks 模块深度解析 — 双层事件驱动架构
  • Apache Spark:大数据处理的极速引擎与PySpark实战指南
  • 构建现代化图片编辑器的Vue与Fabric.js实践指南
  • Kling AI 技术全解:从底层架构到多模态生成原理
  • 基于椭圆曲线的 Harness 请求签名与验签
  • 【油浸式变压器】在不同气候条件下的油浸式变压器的能量极限研究(Matlab代码实现)
  • 上古卷轴5天际整合包下载最新全热门MOD整合(画质+人物+功能+场景全美化)下载分享
  • GDScript Mod Loader:为Godot游戏打造专业模组生态的完整指南