电脑课堂
柔彩主题三 · 更轻盈的阅读体验

命令行查看端口占用:快速定位程序冲突

发布时间:2025-12-23 22:00:50 阅读:328 次

电脑用着用着突然打不开网页,或者启动软件提示“端口已被占用”,挺烦人的。特别是想跑个本地服务器、调试项目的时候,80 或 3000 端口被谁偷偷占了都不知道。其实不用装第三方工具,用系统自带的命令行就能快速查出来。

Windows 上怎么查

打开命令提示符(Win + R,输入 cmd 回车),用 netstat 命令就能看到所有网络连接和监听端口。

netstat -ano | findstr :端口号

比如你想查 80 端口有没有被占用,就写:

netstat -ano | findstr :80

返回结果里会有一堆信息,最后一列是 PID(进程号)。记下这个数字,再打开任务管理器,在“详细信息”标签页里找对应的 PID,就能知道是哪个程序在占用端口了。

如果懒得去任务管理器翻,也可以直接用 tasklist 配合查询:

tasklist | findstr PID数字

比如 PID 是 1234,那就执行:

tasklist | findstr 1234

马上就能看到进程名字。

Linux 和 macOS 怎么查

在终端里,推荐用 lsof 命令,更直观。

lsof -i :端口号

比如查 3000 端口:

lsof -i :3000

结果会直接显示进程名、PID、用户和网络状态。想关掉它,直接 kill 就行:

kill -9 PID数字

要是提示权限不够,加个 sudo。

有些 Linux 系统可能没有 lsof,可以用 netstat 替代:

netstat -tulnp | grep :端口号

注意 -p 参数能显示 PID,但需要管理员权限才能看全。

有次我本地起 Node 服务起不来,反复报地址已使用,用 lsof 一查,发现是昨天忘了关的测试进程还在后台跑着。杀掉之后立马恢复正常,省得重装软件或者重启电脑。

这些命令不难记,用几次就熟了。遇到端口冲突别慌,打开命令行,三两下就能揪出“占道”的程序。