ss最快、lsof最直观、netstat最兼容;ss -tulnp查监听端口及进程,lsof -i :端口精准定位占用者,netstat -tulnp为老系统兜底方案。

直接看端口谁在用,不用装一堆工具,三招够用——lsof、ss、netstat,按速度和通用性排序,ss最快,lsof最直观,netstat最兼容。
用 ss 快速查监听端口(推荐日常首选)
ss 是 netstat 的现代替代品,启动快、解析快,尤其适合高并发或脚本调用。
- 查所有监听端口:
ss -tuln - 查 8080 端口谁在用:
ss -tulnp | grep :8080(加p显示进程,需 root 权限) - 只看 TCP 监听且带进程名:
ss -tlnp,再配合grep :端口号定位精准
用 lsof 直观定位进程(适合排查冲突)
lsof 把端口当成“打开的网络文件”来列,输出带命令名、用户、PID,一眼看清是谁占的。
- 查 3306 端口:
lsof -i :3306 - 查所有监听中的 TCP 端口:
lsof -iTCP -sTCP:LISTEN -P -n(-P不解析服务名,-n不查 DNS,更快更干净) - 没装?CentOS/RHEL 用
yum install lsof,Ubuntu/Debian 用apt install lsof
用 netstat 兼容老系统(无 ss/lsof 时兜底)
虽然较慢、部分新发行版默认不带,但几乎所有 Linux 都能通过 yum install net-tools 或 apt install net-tools 装上。
- 查全部监听端口:
netstat -tuln - 查 22 端口占用:
netstat -tulnp | grep :22 - 注意:
-p参数必须 root 权限才能显示 PID 和程序名,普通用户会看到 “Permission denied”
基本上就这些。选一个顺手的,记住 ss -tulnp、lsof -i :端口、netstat -tulnp 这三条命令,95% 场景都覆盖了。










