生成子节点进程并将其通过管道传输到当前节点进程有什么用?

What use is spawning a child node process and piping it to the current node process?

我正在尝试理解 this 关于在 docs.nodejitsu.com.

中使用 Node 中的流的示例
 var child = require('child_process');

 var myREPL = child.spawn('node');

 myREPL.stdout.pipe(process.stdout, { end: false });

 process.stdin.resume();

 process.stdin.pipe(myREPL.stdin, { end: false });

 myREPL.stdin.on('end', function() {
   process.stdout.write('REPL stream ended.');
 });

 myREPL.on('exit', function (code) {
   process.exit(code);
 });

阅读代码我可以看到在 child.spawn('node') 中创建了一个新节点 REPL,然后它的标准输入和标准输出都通过管道传输到节点进程 运行 程序的标准输入和标准输出。

这段代码的有用应用是什么?我能用它做什么?

一个好的用例可能是在 "sandbox" 环境中评估一些代码,这样评估的代码就不会污染您当前的 运行 时间环境。