每日智识
柔彩主题三 · 更轻盈的阅读体验

控制台查看端口占用:排查程序启动失败的小技巧

发布时间:2025-12-13 17:31:44 阅读:364 次

在日常办公中,开发人员或IT支持同事经常遇到一种尴尬情况:明明启动了服务,浏览器却打不开页面。最常见的原因之一,就是端口被占用了。比如你准备本地调试一个Web项目,运行后提示“端口 3000 已被占用”,但又不知道是谁在用。这时候,打开控制台查一下端口占用,就能快速定位问题。

Windows 上怎么查

打开命令提示符(cmd)或者 PowerShell,输入下面这条命令:

netstat -ano | findstr :端口号

比如你想查 3000 端口,就把“端口号”换成 3000:

netstat -ano | findstr :3000

执行后会列出所有使用该端口的连接,其中最后一列是 PID(进程ID)。接着打开任务管理器,切换到“详细信息”标签页,找到对应的 PID,就能知道是哪个程序占着不放了。

macOS 和 Linux 怎么办

在 macOS 或者大多数 Linux 系统里,用的是 lsof 命令。打开终端,输入:

lsof -i :端口号

比如还是查 3000 端口:

lsof -i :3000

回车之后,系统会直接显示占用该端口的程序名、PID 和网络状态。如果想结束它,可以用 kill 命令:

kill -9 PID号码

把“PID号码”换成实际查到的数字就行。

一个小例子

上周同事小李搭新环境,启动 Node.js 服务时报错“EADDRINUSE”。他第一反应是改端口,但我让他先查一下是不是之前没关掉的进程还在跑。用 lsof -i :3000 一搜,发现是昨天调试留下的 node 进程还在后台挂着。杀掉之后,服务立刻就起来了。省得来回折腾配置文件。

这种操作看起来不起眼,但在抢进度的时候特别管用。花一分钟查清楚,比盲目重启、换端口、重装依赖高效多了。