Skip to content

Clash 7890 端口详解与占用冲突排查 2026:默认端口作用、秒级杀冲突进程与端口修改教程 ​

直接结论:遇到 Clash 核心启动日志提示 bind: address already in use :7890 或 listen tcp 127.0.0.1:7890: bind: permission denied 时,95% 的原因在于:旧版 Clash 闪退后遗留的后台僵尸内核(mihomo.exe 或 clash-core.exe)仍在占用端口,或者是本地同时运行了其他代理/抓包软件(如 v2rayN、Fiddler)。最立竿见影的解决对策是:在终端用一条命令强制杀死残留进程,或者直接在客户端将端口修改为 7899。

10 秒极速抢救方案(任选一种立即恢复)

  • 方案 A(一键杀进程,推荐):以管理员身份打开 PowerShell,粘贴运行: Get-Process -Name *clash*, *mihomo* -ErrorAction SilentlyContinue | Stop-Process -Force,然后重新打开 Clash。
  • 方案 B(改端口彻底避让):打开 Clash Verge,点击「设置」-> 将「混合端口」由 7890 改为 7899,保存即刻生效。

一、7890 端口是什么?为什么是默认代理端口? ​

在计算机网络中,端口(Port)是应用程序接收网络数据的逻辑门牌号:

  1. 什么是 7890 端口:7890 是开源 Clash 项目作者定义的通用默认混合代理端口(Mixed Port);
  2. 混合端口的优势:传统的网络代理通常将 HTTP 代理与 SOCKS5 代理分离在两个不同端口(如 HTTP 7890、SOCKS 7891),而 7890 端口支持自适应握手,不管是浏览器发出的 HTTP 网页请求,还是 Telegram 发出的 SOCKS5 长连接请求,都能统一通过 127.0.0.1:7890 完成代理转发;
  3. 其他设备共享:如果开启了「允许局域网 (Allow LAN)」,同一 WiFi 下的手机、Switch 掌机也可以将 HTTP 代理服务器设置为电脑的局域网 IP(如 192.168.1.100:7890)实现全家设备网络加速,详细教程参考 Clash 局域网代理与跨设备共享指南。

二、端口冲突典型触发场景与决策排查树 ​

mermaid
flowchart TD
    PortErr["启动报 7890 端口被占用<br/>bind: address already in use"] --> CheckPort{"谁在占用 7890 端口?"}
    CheckPort -->|残留的 clash-core / mihomo 僵尸进程| KillGhost["执行 PowerShell 命令强杀后台进程"]
    CheckPort -->|其他代理工具 (v2rayN/NekoBox)| CloseConflict["彻底退出其他代理软件并重启 Clash"]
    CheckPort -->|未知系统服务占用或杀不掉| ChangePort["修改 Clash 混合端口为 7899 / 7897"]
    KillGhost --> RestartClash["重新启动 Clash 恢复网络"]
    CloseConflict --> RestartClash
    ChangePort --> RestartClash

三、Windows 平台:两步定位并强制杀灭占用程序 ​

在 Windows 10/11 环境下,最常见的情况是客户端主界面虽然关闭,但后台的 clash-verge-service.exe 或 mihomo.exe 仍然存活并持有套接字(Socket)。

步骤 1:查找占用端口的 PID ​

以管理员身份打开 PowerShell,执行以下命令:

powershell
# 查找本地监听 7890 端口的连接与对应进程 PID
Get-NetTCPConnection -LocalPort 7890 -ErrorAction SilentlyContinue | Select-Object LocalAddress, LocalPort, State, OwningProcess

如果习惯使用传统 CMD 命令行:

cmd
netstat -ano | findstr ":7890"

终端将输出类似如下行:

text
TCP    127.0.0.1:7890         0.0.0.0:0              LISTENING       14892

最后一列的数字 14892 即为持有该端口的进程 ID(PID)。

步骤 2:识别进程并强制结束 ​

确认占用者身份并执行强杀:

powershell
# 1. 确认该 PID 到底是什么软件
Get-Process -Id 14892 | Select-Object Id, ProcessName, Path

# 2. 强制终止该进程
Stop-Process -Id 14892 -Force

四、macOS 与 Linux 平台:排查与释放 7890 端口 ​

在 Mac 或 Linux 终端中运行:

bash
# 1. 查找占用 7890 端口的进程
sudo lsof -i :7890

# 2. 终止该进程(假设 PID 为 1234)
sudo kill -9 1234

五、不想杀进程?手把手教您修改 Clash 端口 ​

如果您电脑上有其他固定业务必须使用 7890 端口,可直接将 Clash 的端口改走其他未被占用的端口:

  1. 打开 Clash Verge 或 Clash Verge Rev;
  2. 点击左侧 「设置」 页面;
  3. 找到 「混合端口 (Mixed Port)」,将其从 7890 修改为 7899 或 10808;
  4. 点击保存,观察右下角日志,显示 Mixed(http+socks) proxy listening at 127.0.0.1:7899 即代表成功;
  5. 注意:如果之前在浏览器 SwitchyOmega 插件或开发终端设置了环境变量,需同步将端口号从 7890 更新为 7899。

六、上下游关联排查与服务推荐 ​


七、常见问题(FAQ) ​

Q1:为什么重启电脑后 7890 端口又被占用了? ​

答:这通常是因为您电脑中安装了设置了“开机自启动”的其他代理软件(如 v2rayN、QQ 浏览器代理组件、抓包工具),建议检查 Windows 任务管理器中的「启动应用」列表,禁用无关代理自启项。

Q2:修改为 7899 端口后,系统代理还能正常分流吗? ​

答:完全正常。Clash Verge 会自动更新 Windows 注册表中的代理端口配置为 7899,对您的日常网页浏览没有任何负面影响。