跳到主要内容

诊断 · 端口

如何查找正在使用某个端口的进程

在 Windows、Linux 或 macOS 上确认端口所有者;在支持的平台上,也可以用 qzx inspectPort 3000 --json 获取只读、结构化的诊断证据。

Alejandro Sánchez约 6 分钟

三个计算机环境通过共同的跨平台规范化层连接。

先确认所有者,不要凭猜测结束进程

Windows 可用 Get-NetTCPConnection,Linux 可用 ss -lptn 'sport = :3000',macOS 常用 lsof -nP -iTCP:3000 -sTCP:LISTEN。第一步应该是收集证据。

QZX 统一为一次查询

qzx inspectPort 3000 --json

QZX 会报告端口是否被占用;系统允许时,还会返回 PID、进程名、创建时间、可执行文件等。无法获取的信息会作为限制明确报告。

分享前先检查输出

进程命令行可能包含本地路径、用户名、URL、令牌或其他敏感数据。诊断本身只读,并不意味着原始输出适合公开发布。

更安全的顺序

检查 → 理解所有者 → 单独决定是否改变状态 → 改变前重新检查 → 改变后验证。PID 可能被重新使用,所以创建时间也很重要。

扩展为生产工作流

QZX 免费且开源。需要兼容性验证、集成或定制自动化时,可以向 Alejandro Sánchez 申请专业服务,也可以支持项目持续开发。

相关命令

  • inspectPort

    检查本地端口是否被占用,并报告占用它的进程而不终止进程。

常见问题

inspectPort 会结束进程吗?

不会。inspectPort 是只读诊断,不会改变进程状态。

为什么进程详情可能缺失?

权限、操作系统 API 或进程在查询期间退出都可能限制可获得的信息。

可以直接公开 JSON 吗?

建议先检查。命令行参数、路径和用户名可能包含敏感信息。