网络宝典
第二套高阶模板 · 更大气的阅读体验

控制台查看端口占用:快速排查网络问题的小技巧

发布时间:2025-12-13 17:31:25 阅读:529 次

你有没有遇到过这种情况:想启动一个本地服务,比如运行一个网站项目,结果提示“端口已被占用”,但又不知道是谁在用?其实用控制台就能快速查到哪个程序占了哪个端口,不用装额外软件,简单又高效。

Windows 上怎么查端口占用

打开命令提示符(按 Win + R,输入 cmd 回车),然后输入下面这条命令:

netstat -ano | findstr :端口号

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

netstat -ano | findstr :8080

执行后会看到类似这样的输出:

TCP    0.0.0.0:8080    0.0.0.0:0    LISTENING    1234

最后那个数字 1234 是进程 PID。接着再打开任务管理器,在“详细信息”标签页里找这个 PID,就能知道是哪个程序在占着端口了。

Linux 和 macOS 上的查看方法

在终端里用 lsof 命令更方便。比如查 3000 端口:

lsof -i :3000

如果提示 command not found,可能是没安装 lsof,可以用包管理器装一下,比如 Ubuntu 上执行:

sudo apt install lsof

还有一种方式是用 netstat(部分系统默认已安装):

netstat -tulnp | grep :端口号

比如查 80 端口:

netstat -tulnp | grep :80

输出里会显示协议、本地地址、PID/程序名,一眼就能看出谁在用。

一个小场景:开发时端口冲突

假设你在写前端项目,运行 npm run dev 时提示“Port 3000 is in use”。这时候别急着重启电脑,先打开终端或命令行,用上面的方法查一下是谁占了 3000 端口。可能是上次关浏览器没关服务,也可能是同事发的测试程序还在跑。找到 PID 后,可以用命令直接杀掉:

kill -9 PID

或者 Windows 上用:

taskkill /PID 1234 /F

立马就能腾出端口,继续干活。

掌握这几个命令,以后遇到端口冲突不再瞎猜,几秒定位问题,效率提升一大截。