我试图执行程序(二进制),即在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执行它,还是其他技巧?