在javascript中生成:延迟stdout,如何禁用缓冲区?

时间:2016-10-06 11:53:17

标签: javascript node.js spawn node-red

我试图执行程序(二进制),即在stdout上定期打印值。

使用exec,它工作正常,但是对于spawn,结果只会在一段时间后出现,为什么?我该怎么办?

  const opcv=spawn("myprog",["-L","2","-o","pairs","-r"], { shell:false, stdio:"pipe" })
  opcv.stdout.on('data', (data) => {
      node.log("opcdata stdout=" + data);
    });
  opcv.stderr.on('data', (data) => {
      node.log("opcdata stderr=" + data);
    });

我试过选项{stdio:"继承"},在这种情况下我直接看到了数据,但是我无法使用" .stdout.on( "再说:

  

TypeError:无法读取' on'为null

修改 它似乎与我尝试运行的程序有关,但遗憾的是它无法在程序中禁用stdout缓冲,是否可以使用另一个shell而不是cmd执行它,还是其他技巧?

0 个答案:

没有答案