使用node.js启动另一个节点应用程序?

我有两个单独的节点应用程序。我希望其中一个能够在代码中的某个时刻启动另一个。我将如何去做?

回答:

使用child_process.fork()。它与相似spawn(),但是用于创建V8的全新实例。因此,它专门用于运行Node的新实例。如果您只是执行命令,请使用spawn()exec()

var fork = require('child_process').fork;

var child = fork('./script');

请注意,fork()默认情况下使用时,stdio流与父级关联。这意味着所有输出和错误都将在父进程中显示。如果您不希望与父级共享流,则可以stdio在选项中定义属性:

var child = fork('./script', [], {

stdio: 'pipe'

});

然后,您可以将流程与主流程的流分开处理。

child.stdin.on('data', function(data) {

// output from the child process

});

另请注意,该过程不会自动退出。您必须process.exit()从生成的Node进程中进行调用才能退出。

以上是 使用node.js启动另一个节点应用程序? 的全部内容, 来源链接: utcz.com/qa/400294.html

回到顶部