Я пытаюсь создать сценарий Node.js для анализа использования диска. Для этого я раскошелился на du
, но у меня возникли проблемы с тем, чтобы понять, как читать вывод дочернего процесса построчно. Вот что я пробовал до сих пор:
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'
просто считывает фрагменты данных, и хотя readline
предположительно должен разбивать ввод построчно, он этого не делает, вместо этого я получаю точно такие же данные (du.stdout возвращает a буфер, но вызов .toString()
дает мне те же данные, что и с linereader
).