「端口被占用」十次有九次是上次没退干净:换端口只止血,杀残进程才根治

排障 · 5 步 / 3 分钟L1整理于 2026-10-06 有效期 permanent

启动报 Address already in use,但自己明明没开第二个实例 —— 因为「关窗口」不等于「进程退出」,服务常跑在子进程里,Ctrl+C 只断了前台。换端口能立刻起来,但残留进程会继续吃显存和内存;下次换个端口还是同样的问题。判据是 netstat 里那条 LISTENING 记录的 PID,杀掉它才算修干净。

排错端口WindowsComfyUIWebUI

这条适用于

版本指纹

Windows 11 + ComfyUI 8188;判据与命令跨平台通用

具体做法

# —— Windows:查出占用端口的 PID 并杀掉 ——
$ netstat -ano | findstr :8188
# 输出形如:TCP  0.0.0.0:8188  0.0.0.0:0  LISTENING  12345
#                                                      ^^^^^ 这个就是 PID
$ tasklist | findstr 12345            # 先确认这个 PID 是什么进程
$ taskkill /PID 12345 /F              # 确认无误后再杀
# —— Linux / macOS ——
$ lsof -i :8188                       # 列出占用者
$ fuser -n tcp 8188                   # 只出 PID
$ kill -9 <pid>
# —— 最快止血:换端口启动 ——
$ python main.py --port 8189          # ComfyUI
$ vllm serve <model> --port 8001      # vLLM
失效边界
适用边界:判据与命令在所有平台通用;Windows 的端口残留现象在本机实测中尤其常见(资源管理器看不到、端口却被占)。两个提醒:① 杀 PID 前一定先确认那是不是自己的进程,别把系统服务或同事的任务杀掉;② 有的服务退出时端口会进入 TIME_WAIT,几分钟内自动释放,看到端口「还在」不一定真的被占。本机实测环境为 Windows 11 + ComfyUI 8188,其它端口同理。
← 内网推理服务「偶尔连不上」:先查代理环境变量,别查配置三平台各出一条片最后只剩一条:跳过被当成了完成 →

← 返回全部排错方案