javascript - 使用 node.js 启动另一个 Node 应用程序?

标签 javascript node.js child-process

我有两个独立的 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/

相关文章:

node.js - 来自 AWS Lambda 函数中的 spawn child_process 的 SIGSEGV

node.js - Node : Send Ctrl+C to a child process on Windows

javascript - ExtJS FiltersFeature 不再工作

node.js - 如何在 Windows 上正确使用 node.js child_process.spawn() 重定向?

javascript - nodejs子进程: write stdout in realtime & run sequentially

php - 在Fedora上运行的Apache,PHP,Nodejs,根据所选域同时路由到php和nodejs

javascript - 表达sendFile函数

javascript - 在 JavaScript 中尝试对象

javascript - 删除以前的 "droppable"jQuery UI

php - 使用 hmac 保护 javascript 客户端