fuser -n tcp 端口号可快速定位占用TCP端口的进程,需root权限及psmisc包支持,输出格式为“端口号/tcp: PID”,配合-v、-u、-k等选项增强实用性,但须注意-n tcp不可省略且需结合ss或lsof验证监听状态。

用 fuser -n tcp 端口号 可以直接查出哪个进程占用了指定 TCP 端口,输出简洁、响应快,适合快速定位冲突。
确认命令可用并获取权限
确保系统已安装 psmisc 包(fuser 所在软件包):
- CentOS/RHEL:运行
yum install -y psmisc - Ubuntu/Debian:运行
apt install -y psmisc
多数情况下需 root 权限才能看到所有进程,建议加 sudo 执行,否则可能漏掉非当前用户启动的服务。
执行端口查询
语法为:sudo fuser -n tcp 端口号,例如:
-
sudo fuser -n tcp 3306→ 查 MySQL 默认端口 -
sudo fuser -n tcp 8080→ 查常见 Web 开发端口
成功时会输出类似:3306/tcp: 12345,其中 12345 就是占用该端口的进程 PID。
Linux AI 服务器 — 将 Linux 服务器转换为本地 AI 推理集群。使用 systemd、NVIDIA CUDA 实现无头 Linux AI,零 GUI 开销。
补充信息增强可读性
加选项让结果更实用:
-
-v显示详细信息(用户、命令名、端口状态):sudo fuser -v -n tcp 8080 -
-u同时显示进程所属用户:sudo fuser -u -n tcp 8080 -
-k直接终止进程(慎用):sudo fuser -k -n tcp 8080
注意:-n tcp 不可省略,否则默认按文件路径匹配;UDP 端口需换为 -n udp。
验证与常见误区
查完建议立刻验证是否真在监听:
- 运行
ss -tlnp | grep :端口号或lsof -iTCP:端口号 -sTCP:LISTEN - 若
fuser有输出但ss没有LISTEN行,说明该进程可能只是短暂连接或已退出,不必强制 kill -
fuser不会显示未绑定到0.0.0.0或::的本地绑定(如只绑127.0.0.1:8080),此时仍能查到,但部分工具可能忽略
不复杂但容易忽略。

















