Clash 提示 9090 端口被占用怎么处理

Clash 启动时提示 9090 端口被占用,通常意味着已有其他进程正在使用该端口,导致 Clash 无法绑定到指定端口而启动失败。这一问题在本地开发环境、多实例运行或系统后台残留服务未关闭时尤为常见。你可能已经尝试重启 Clash,但问题依旧存在,说明根本原因并非临时异常,而是端口冲突持续存在。要解决它,必须先确认是哪个进程占用了 9090 端口,再决定是终止该进程还是更换 Clash 的监听端口。

第一步是打开命令行工具(Windows 使用 CMD 或 PowerShell,macOS/Linux 使用 Terminal),执行以下命令查看端口占用情况: `netstat -ano | findstr :9090`(Windows) 或 `lsof -i :9090`(macOS/Linux)

执行后会返回类似 `TCP *:9090 LISTEN 1234` 这样的信息,其中末尾的数字是进程的 PID(进程标识符)。以 Windows 为例,若输出为 `0.0.0.0:9090 LISTEN 5678`,则需进一步通过任务管理器或命令行查询该 PID 对应的程序名称。输入命令: `tasklist | findstr 5678`

即可看到对应进程名,比如 `clash.exe`、`node.exe`、`java.exe`,甚至可能是某个浏览器插件或旧版 Clash 残留服务。若显示为 `System`,则可能是系统级服务,需谨慎处理。

若确认是旧版 Clash 未正常退出,直接结束该进程即可。在任务管理器中找到对应进程,右键“结束任务”;或在命令行中使用: `taskkill /PID 5678 /F`(Windows) `kill -9 5678`(macOS/Linux)

如果进程属于某个应用(如某些自启动代理工具、PikPak 下载客户端、或集成网络模块的软件),建议检查其设置中是否启用了本地代理功能,尤其是那些默认开启 9090 端口的应用。例如,部分 P2P 工具或下载加速器会在后台启用透明代理,且不提供关闭选项,这类情况往往需要进入应用配置界面手动禁用代理功能,或卸载重装。 延伸阅读:PikPak 下载速度慢怎么定位原因。

若你发现占用端口的是 Node.js 服务(如运行了本地 Web 服务器或开发框架),可考虑将 Clash 的端口改为非冲突的值。在 Clash 配置文件中修改如下字段: ```yaml port: 7890 socks-port: 7891 ``` 然后重启 Clash,确保新端口未被占用。可通过 `netstat -ano | findstr :7890` 快速验证。

另一个常见误区是误以为“杀掉所有同名进程就能解决问题”,但实际可能存在多个不同来源的进程同时监听 9090。因此,务必结合进程名与路径判断其合法性。例如,一个名为 `clash.exe` 但位于 `C:\Program Files\UntrustedApp\` 的程序,极可能是恶意软件伪装,不应随意结束。

当排查无果时,可尝试使用 `telnet localhost 9090` 测试端口连通性——若连接失败,说明端口未被监听;若能连接,则表明仍有服务在运行。此外,部分防火墙或安全软件会拦截端口访问,造成“看似被占用”的假象,此时应检查系统防火墙规则,或暂时关闭安全软件测试。

特别提醒:简历被刷的十个原因中,有一条是“技术细节掌握不牢”,而端口冲突本质是系统资源管理能力的体现。能准确识别并解决此类问题的人,往往在真实项目中也更具备独立排查和修复的能力。同样,当遇到 PikPak 下载速度慢的问题时,若不能定位是网络延迟、节点质量、还是本地端口阻塞,就只能被动等待,而无法主动优化。这正是区分“被动使用者”与“主动掌控者”的分水岭。

最终解决方案不必追求完美,只需快速恢复可用状态。若临时无法终止占用进程,可立即切换 Clash 端口,避免耽误工作流。后续再逐步清理后台服务,建立长期维护习惯。

codextqm7t.clash-clash.comlxnw.clash-clash.coms8k62q.clash-clash.com