Clash 进程匹配规则配置教程:PROCESS-NAME 实战详解

立即下载Clash入门 全平台支持 · 官方最新版

什么是 Clash 进程匹配规则

在 Clash 的规则体系中,除了常见的 DOMAIN、IP-CIDR、GEOIP 等匹配方式外,还有一种非常强大但容易被忽略的规则类型——PROCESS-NAME,即按进程名称匹配流量。

简单来说,PROCESS-NAME 允许你根据发起网络请求的应用程序名称来决定走代理还是直连。例如:

这种按应用分流的方式,比按域名或 IP 分流更直观、更稳定,尤其适合多场景混合使用的用户。

PROCESS-NAME 规则的基本语法

规则格式

rules:
  - "PROCESS-NAME,进程名,策略"

其中:

不同平台的进程名写法

平台 进程名示例 说明
Windows chrome.exe 必须带 .exe 后缀
macOS Google Chrome 使用应用主程序名,可带空格
Linux chrome 通常为小写可执行文件名

注意:macOS 的进程名获取方式与 Windows 不同,建议通过活动监视器或 ps 命令确认实际进程名。

简单示例

rules:
  - "PROCESS-NAME,chrome.exe,🚀 节点选择"
  - "PROCESS-NAME,WeChat.exe,DIRECT"
  - "PROCESS-NAME,DingTalk.exe,DIRECT"
  - "PROCESS-NAME,steam.exe,🚀 节点选择"

以上规则表示:Chrome 和 Steam 走代理,微信和钉钉直连。

如何查看应用程序的真实进程名

Windows 查看进程名

  1. 按 Ctrl + Shift + Esc 打开任务管理器。
  2. 切换到「详细信息」标签页。
  3. 找到对应应用,查看「名称」列,例如 chrome.exe、WeChat.exe。\n

macOS 查看进程名

打开终端,输入:

ps -ef | grep 应用关键词

例如查找 Chrome:

ps -ef | grep Chrome

Linux 查看进程名

pgrep -l 应用关键词

例如:

pgrep -l chrome

常见应用场景

场景一:游戏玩家单独加速

很多游戏需要通过代理降低延迟或解决连接问题,但不想让全局流量都走代理。此时可用 PROCESS-NAME 精确指定:

rules:
  - "PROCESS-NAME,steam.exe,🚀 节点选择"
  - "PROCESS-NAME,EpicGamesLauncher.exe,🚀 节点选择"
  - "PROCESS-NAME,LeagueClient.exe,🚀 节点选择"

场景二:办公软件强制直连

企业微信、钉钉、飞书等办公软件通常对国内服务器优化较好,走代理反而可能变慢或触发安全验证:

rules:
  - "PROCESS-NAME,WeCom.exe,DIRECT"
  - "PROCESS-NAME,DingTalk.exe,DIRECT"
  - "PROCESS-NAME,lark.exe,DIRECT"

场景三:下载工具避免消耗代理流量

迅雷、qBittorrent、IDM 等下载工具流量大,如果不小心走了代理,可能迅速耗尽套餐流量:

rules:
  - "PROCESS-NAME,Thunder.exe,DIRECT"
  - "PROCESS-NAME,qbittorrent.exe,DIRECT"
  - "PROCESS-NAME,IDMan.exe,DIRECT"

场景四:开发工具单独分流

开发者可能需要让 Docker、Git、npm 等工具走代理,而浏览器和其他应用保持默认:

rules:
  - "PROCESS-NAME,git.exe,🚀 节点选择"
  - "PROCESS-NAME,docker.exe,🚀 节点选择"
  - "PROCESS-NAME,node.exe,🚀 节点选择"

PROCESS-NAME 的优先级与注意事项

规则优先级

Clash 的规则是从上到下依次匹配的,第一条匹配成功的规则会立即生效,后续规则不再检查。因此 PROCESS-NAME 通常建议放在规则列表靠前的位置,尤其是你希望它覆盖域名或 IP 规则时。

推荐顺序:

  1. PROCESS-NAME(应用级分流)
  2. DOMAIN-SUFFIX / DOMAIN-KEYWORD(域名分流)
  3. IP-CIDR / GEOIP(IP 分流)
  4. MATCH(兜底规则)

与 Tun 模式的关系

PROCESS-NAME 规则在以下两种情况下效果最佳:

常见坑点

  1. 进程名写错:Windows 必须带 .exe,macOS 要区分 Google Chrome 和 Google Chrome Helper。
  2. 子进程问题:某些应用会启动多个子进程,例如 Chrome 有 chrome.exe 和 chrome_helper.exe,需要分别配置。
  3. 大小写敏感:Clash 的 PROCESS-NAME 通常区分大小写,建议按实际进程名精确填写。

进阶:按进程名做策略组

如果你使用的是 Clash Verge Rev 或 Clash Meta(mihomo)内核,还可以结合 script 或 rule-providers 实现更复杂的进程分流。例如:

rule-providers:
  game-apps:
    type: http
    behavior: classical
    url: "https://example.com/rules/game-apps.yaml"
    path: ./ruleset/game-apps.yaml
    interval: 86400

rules:
  - "RULE-SET,game-apps,🚀 游戏加速"

在 rule-provider 文件中,你可以批量写入 PROCESS-NAME 规则:

payload:
  - PROCESS-NAME,steam.exe
  - PROCESS-NAME,EpicGamesLauncher.exe
  - PROCESS-NAME,Origin.exe

这样便于集中维护,也便于多设备同步。

完整配置示例

以下是一个适合 Windows 游戏玩家的完整 PROCESS-NAME 分流配置片段:

rules:
  # 办公软件直连
  - "PROCESS-NAME,WeChat.exe,DIRECT"
  - "PROCESS-NAME,DingTalk.exe,DIRECT"
  - "PROCESS-NAME,Feishu.exe,DIRECT"
  - "PROCESS-NAME,WeCom.exe,DIRECT"

  # 浏览器走代理
  - "PROCESS-NAME,chrome.exe,🚀 节点选择"
  - "PROCESS-NAME,firefox.exe,🚀 节点选择"
  - "PROCESS-NAME,msedge.exe,🚀 节点选择"

  # 游戏平台与游戏走代理
  - "PROCESS-NAME,steam.exe,🚀 节点选择"
  - "PROCESS-NAME,EpicGamesLauncher.exe,🚀 节点选择"
  - "PROCESS-NAME,riotgames.exe,🚀 节点选择"

  # 下载工具直连
  - "PROCESS-NAME,Thunder.exe,DIRECT"
  - "PROCESS-NAME,qbittorrent.exe,DIRECT"
  - "PROCESS-NAME,BitComet.exe,DIRECT"

  # 兜底规则
  - "GEOIP,CN,DIRECT"
  - "MATCH,🚀 节点选择"

总结

PROCESS-NAME 是 Clash 中实现应用级精准分流的利器。相比按域名或 IP 分流,它更直观、更不容易被 CDN 或动态 IP 干扰。对于同时有办公、娱乐、下载、开发需求的用户,合理使用进程匹配规则可以大幅提升网络体验,并避免代理流量被不必要的应用消耗。

如果你还不太熟悉 Clash 的基础规则语法,建议先阅读《Clash 规则路由入门指南》,再回来配置 PROCESS-NAME 会更得心应手。

这篇教程有帮助吗?立即下载Clash入门试试吧!

全平台支持 · 安全无毒 · 官方最新版

下载Clash入门