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

时间:2016-05-18 06:44:06

标签: node.js spawn

我在node.js中有一个父应用程序,需要根据需要生成多个worker应用程序(也在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']});

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

1 个答案:

答案 0 :(得分:4)

我在这里有点晚了,但我也不得不弄清楚这一点,所以这里是其他任何正在努力解决这个问题的人的答案:

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

self.webView.scalesPageToFit = true                 
self.webView.contentMode = .scaleAspectFit

除了OP正在使用的csv_data_frame.to_sql(table_name, engine, if_exists='append', chunksize=1000) 之外,我还使用了childProcess.spawn("<cmd>", [], {shell: true, detached: true}); 。通过两者的结合,我设法用自己的控制台生成我的子应用程序。