electron中用node新启进程的一个小坑

1,789 阅读1分钟

需求背景是这样的,在electron中,调用一个exe脚本程序后,关闭electron本身。

很简单的一个需求啊,卡了我好久,问题是这样的,在electron程序中,通过node唤起的windows进程都归属于electron主进程,当这个主进程被杀掉后,其子进程也都被kill掉了。

折腾半天,找到detached属性解决这个问题,设置 options.detached 为 true 可以使子进程在父进程退出后继续运行。

const child_process = require('child_process');
var pars_1 = 123;
var pars_2 = 456;
var workerProcess = child_process.spawn('GifCam.exe', [pars_1, pars_2], {
    detached: true,
});