Я пытаюсь создать скрипт 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 возвращает буфер, но вызов .toString()
на нем дает мне те же данные, которые я получил с linereader
).