使用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