查端口占用必须绕过dns解析,否则命令卡住;macos/linux用lsof -ni:9229,windows powershell用get-nettcpconnection -localport 9229获pid;杀进程需递归清理子进程,macos/linux先kill再kill -9,windows用taskkill /f /t /pid;验证须无输出才算释放成功。

查端口占用必须绕过 DNS 解析,否则命令卡住
在 VS Code 内置终端(Ctrl + `)里执行查端口命令时,如果卡住不动,大概率是 lsof 或 netstat 在做反向 DNS 查询。别等,直接加参数跳过:
- macOS/Linux:
lsof -ni :9229(-n跳 DNS,-i只筛网络连接) - Windows PowerShell:
Get-NetTCPConnection -LocalPort 9229(原生命令,不走 DNS,输出字段OwningProcess就是 PID) - Windows CMD:
netstat -ano | findstr :9229(注意:PID 是十进制,需在任务管理器“详细信息”页开启“PID”列比对)
如果 lsof 报 command not found,macOS 先运行 xcode-select --install;PowerShell 报命令不存在,说明你当前在 CMD 标签页,切到 PowerShell 再试。
杀进程不能只 kill 主 PID,Node 调试器会拉子进程树
VS Code 的 Node.js 调试器启动后,常派生 node、npm、yarn 甚至 Code Helper 子进程。只杀主 PID,子进程继续绑端口或锁文件句柄。
- macOS/Linux:先
kill 1234(发 SIGTERM),等 2 秒无响应再kill -9 1234 - Windows:必须用
taskkill /f /t /pid 1234——/t是关键,递归杀整棵树 - 更彻底清理 VS Code 自家残留:
taskkill /f /t /im Code.exe && taskkill /f /t /im CodeHelper.exe
杀完立刻验证:Get-NetTCPConnection -LocalPort 9229 或 lsof -i :9229 应该完全无输出。有输出就说明还有漏网进程。
详细的 Three.js 3D 图形参考,涵盖场景设置、相机、几何体、材质、光照、动画、控制器、加载器、数学工具和调试。
改 launch.json 的 port 字段只管 Debugger,不管 Live Server 或 CLI
很多人改了 .vscode/launch.json 里的 "port": 9230,但重启调试仍报 EADDRINUSE :::9229——因为真正占着 9229 的不是你的调试器,而是其他东西。
-
launch.json中的port仅控制 VS Code Node.js Debugger 监听的调试协议端口(如 Chrome DevTools Protocol),不影响应用本身监听的 HTTP 端口 - Live Server 插件走独立配置:
liveServer.settings.port,在 VS Code 设置里搜这个 key 改 - create-react-app / vite / next dev server 的端口由 CLI 控制,得在终端里加参数:
npm start -- --port 3001或设环境变量PORT=3001 npm start
改完配置后,务必关掉所有已打开的调试会话再重试——旧调试进程不会自动 reload 配置。
多终端并发时,端口冲突本质是进程没退出干净
你在 VS Code 里开了 3 个终端,分别跑 npm start、node app.js、code --inspect-brk,只要有一个没手动 Ctrl+C 退出,它就在后台挂着,端口就一直被锁。这不是“僵尸进程”,是正常但未优雅退出的 Node 进程。
- 检查所有终端标签页,把没用的关掉,尤其标着
npm start或node的 - 写代码时加优雅关闭逻辑:
process.on('SIGINT', () => { server.close(); process.exit(0); }) - 避免在
package.jsonscripts 里硬编码端口:"start": "react-scripts start --port 3000"→ 改成"start": "react-scripts start",让 CLI 自动选空闲端口
真正省心的做法不是每次撞上再杀,而是让端口动态可选、进程可终止、调试配置不交叉污染——这些点漏一个,多终端一开就准炸。










