【问题标题】:Spawn new child process with own console window使用自己的控制台窗口生成新的子进程
【发布时间】:2016-09-14 11:55:33
【问题描述】:

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

我已经在它们之间进行了通信 - 不需要使用任何内置节点的东西。

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

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

在 Windows 上,将 options.detached 设置为 true 可以让子进程在父进程退出后继续运行。孩子将拥有自己的控制台窗口。

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

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

它不起作用。子应用程序确实生成了,但没有出现控制台窗口。

【问题讨论】:

  • 我可能迟到了,但考虑到您在 16 年 5 月提出的问题,您找到解决方案了吗?或者,更好地说,你能记住一个解决方案吗?

标签: node.js spawn


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多