我有两个独立的 Node 应用程序。我希望其中一个能够在代码中的某个位置启动另一个。我该怎么做呢?
最佳答案
使用 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
});
还要注意该进程不会自动退出。您必须在生成的 Node 进程中调用 process.exit()
才能退出。
关于javascript - 使用 node.js 启动另一个 Node 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18862214/