node.js中的子/辅助线程

我有一个需求,我必须运行一个独立于主节点线程的进程。 基本上,目的是从主节点线程数据启动辅助进程,而不是等待callback或任何结果,因为辅助进程不必向主线程返回任何东西。

我想实现这一点,而不会阻塞主节点线程,主线程不应该在将数据传递到辅助线程后发生什么。 基本上,就二级进程而言,主线程的进程在将数据发送到辅助线程之后结束。

任何build议如何我可以实现这一目标? 我读了关于subprocess,webworkers,dnode和进程nexttick,但我不知道什么是实现它的最好方法。 我尝试了nexttick,但是我的经验是它仍然是主线程的一部分,虽然是asynchronous的。

如果你的目标只是开始进程而不考虑输出,你应该使用spawn与detached:true

为了传递数据,你可以使用stdin编写(参见示例)或传递命令行参数或写入文件和redirect。

我已经实现了subprocessfork,用于将次要/后台处​​理数据传递给subprocess(不断开subprocess)。 到现在为止,这似乎在做好我的工作。 如果我遇到任何问题或find更好的解决scheme,我会更新。

 //Main Process var cp = require('child_process').fork('child.js'); cp.send(data); //Child Process (child.js) process.on('message', function(data){ //do something with data });