我试图使用spawn命令从nodejs执行命令行命令(此处为cat)。将缓冲区限制到nodejs子进程的输出
var spawn = require('child_process').spawn;
var cat = spawn('cat');
result = new Buffer(2048);
cat.stdout.on('data', function (data)
{
data.copy(result);
});
cat.on('exit', function (code)
{
console.log(result.toString());
});
cat.stdin.write(InBUFFER);
cat.stdin.end();
该命令的输出似乎在缓冲区中的某处,但其余的输出也是如此。是否有某种空字符可用于确定输出何时结束?
更新:澄清事情:在输出中有很多随机字符,它们似乎是缓冲区的一部分。我正在寻找一种方法来将命令行命令的有用输出与其余缓冲区分开。
”该命令的输出似乎在缓冲区中的某处,但其余的输出也是如此。“我已经多次阅读过,我无法弄清楚它的含义。剩下的是什么?输出什么? –
对不起。我的意思是缓冲区的其余部分。这似乎是随机废话。类似于未初始化的变量。输出意味着通过console.log发送到控制台的内容。 – funkysash