You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

生产环境下自定义Electron进程名称的实现方法

Electron进程名称自定义(Windows平台)

当然可以实现类似VS Code、Discord的进程区分效果,以下是几种可行的方案:

一、主进程名称自定义

打包阶段直接修改主可执行文件的命名,以electron-builder为例,在项目的package.json中配置:

{
  "build": {
    "win": {
      "artifactName": "${productName}-主进程.exe"
    }
  }
}

打包后主进程的可执行文件会带上“主进程”标识,在任务管理器中一眼就能区分。

二、渲染/子进程添加标识

1. 设置进程标题

在渲染进程或preload脚本中直接修改进程标题,任务管理器的「详细信息」标签中开启「标题」列后就能看到:

// preload.js 或渲染进程代码
process.title = "你的应用名 - 主窗口渲染进程";

如果需要在主进程中统一配置,可以在创建BrowserWindow时传递自定义参数,再在preload中读取设置:

// 主进程创建窗口
const mainWindow = new BrowserWindow({
  webPreferences: {
    preload: path.join(__dirname, 'preload.js'),
    additionalArguments: ['--window-role=main-content']
  }
});

// preload.js
const args = process.argv.slice(2);
const windowRole = args.find(arg => arg.startsWith('--window-role=')).split('=')[1];
process.title = `你的应用名 - ${windowRole}渲染进程`;

2. 调用Windows API修改进程显示名

如果需要直接修改任务管理器中显示的可执行文件名(而非标题),可以借助node-ffi-napi调用Windows系统API实现,示例代码:

const ffi = require('ffi-napi');
const kernel32 = ffi.Library('kernel32', {
  'GetCurrentProcess': ['pointer', []],
  'SetProcessImageFileNameW': ['bool', ['pointer', 'wchar*']]
});

// 在目标进程中执行
const hProcess = kernel32.GetCurrentProcess();
kernel32.SetProcessImageFileNameW(hProcess, '你的应用名 - GPU进程.exe');

注意:这种方法需要应用以管理员权限运行,且仅支持Windows平台。

三、优化进程分组

通过app.setAppUserModelId设置唯一的应用模型ID,能让任务管理器将同属你的应用的进程自动分组,即使名称相似也能清晰区分:

// 主进程ready后执行
app.whenReady().then(() => {
  app.setAppUserModelId('com.yourcompany.yourapp');
});

内容的提问来源于stack exchange,提问作者Colas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 16:04:58