node.js - 使用自己的控制台窗口生成新的子进程

标签 node.js spawn

我在 node.js 中有一个父应用程序,它需要根据需要生成多个工作应用程序(也在 node.js 中)应用程序。

我已经在它们之间建立了通信 - 不需要使用任何内置 Node 的东西。

现在的问题是我希望每个工作进程都有自己的控制台窗口 - 因为我向控制台写入了大量内容并且我想密切关注它。

我已经查看了 Node child_process documentation ,它说通过将选项设置为分离:

On Windows, setting options.detached to true makes it possible for the child process to continue running after the parent exits. The child will have its own console window.

但是当我使用自己的代码时

const Process = require("child_process").spawn;
Process(process.argv[0], ["myApplicationPath","otherArgs"],{detached: true,stdio: ['ignore']});

这是行不通的。子应用程序会生成,但不会出现控制台窗口。

最佳答案

我在这里有点晚了,但我也必须弄清楚这一点,所以这里是其他正在为此苦苦挣扎的人的答案:

我设法使用它在自己的控制台中生成了我的子应用程序:

childProcess.spawn("<cmd>", [], {shell: true, detached: true});

除了 OP 使用的 {detached: true} 之外,我还使用了 {shell: true}。通过两者的结合,我成功地使用自己的控制台生成了我的子应用程序。

关于node.js - 使用自己的控制台窗口生成新的子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37292103/

相关文章:

node.js - 在 Node 中代理时包含子域

node.js - 验证来自嵌套模式结构 Mongoose 的电子邮件

node.js - 无法在Docker内部启动 Node 应用程序

node.js - 是否可以将 Nuxt 应用程序作为包发布在 NPM 上,以便在另一个 Nuxt 应用程序中重用?如果是,我该怎么做?

javascript - Node 子进程事件监听

node.js - 通过 Socket.io 连接进行 JWT 授权

linux - Node 生成 std​​out.on 数据延迟

python - 派生进程能否与 "main"MPI 通信器通信

erlang - spawn/1 和共享外部变量