Estoy tratando de hacer una secuencia de comandos Node.js para analizar el uso del disco. Para esto, desalojo al du
, pero estoy teniendo problemas para descifrar cómo leer el resultado del proceso hijo línea por línea. Esto es lo que he probado hasta ahora:¿Cómo leer desde un child_process línea por línea en Node.js?
var spawn = require("child_process").spawn,
rl = require('readline'),
du = spawn('du', ['/home']);
linereader = rl.createInterface(du.stdout, du.stdin);
// Read line by line.
//du.stdout.on('data', function (data) {
linereader.on('line', function (data) {
console.log(data);
});
du.stdout.on('data'
simplemente lee fragmentos de datos, y mientras readline
debe supuestamente dividir su entrada por línea, no lo hace, en cambio consigo los mismos datos (du.stdout devuelve un búfer, pero llamando al .toString()
me da los mismos datos que obtuve con linereader
).
Ah, ya veo. Un poco triste :) – mikl