节点侦听shell可执行输出

时间:2016-05-01 05:49:17

标签: json node.js sockets

我有一个小任务,我有一个可执行文件,我运行它,它给了我一个json线流。

我想要一个可以侦听该可执行文件并处理输出的节点脚本。

我只是通过以下方式运行可执行文件:

./generator

执行此操作后,它将开始运行并显示json文件,直到我手动停止它为止。

2 个答案:

答案 0 :(得分:1)

var spawn = require('child_process').spawn;

var content = '';

var child = spawn('./generator');
child.stdout.on('data', function(data) {
  content += data;
});

child.on('close', function() {
  console.log(content);
});

这是一个可以运行的代码,可以生成生成器脚本作为子代,并接收所有标准输出。

希望这有帮助。

答案 1 :(得分:0)

查看包ndjson。您将子进程的标准输出管道导入ndjson.parse(),这将返回一个可读的流。您将在该可读流上侦听data事件并获取已为您解析的对象。 (ndjson README中的示例直接适用于您的情况。)