Ich versuche, ein Node.js-Skript zur Analyse der Festplattenbelegung zu machen. Dafür schreibe ich auf du
, aber ich habe Probleme herauszufinden, wie die Ausgabe aus dem Kind-Prozess Zeile für Zeile zu lesen. Hier ist, was ich bisher versucht:Wie liest man in Node.js Zeile für Zeile von einem Child_Process?
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'
gerade liest Datenblöcke und während readline
angeblich sollte seine Eingabe geteilt durch die Linie, tut es nicht, stattdessen bekomme ich genau die gleichen Daten (du.stdout gibt einen Puffer zurück, aber der Aufruf .toString()
darauf gibt mir die gleichen Daten, die ich mit linereader
bekommen habe).
Ah, ich verstehe. Etwas traurig :) – mikl