ディスク使用状況を分析する Node.js スクリプトを作成しようとしています。このために、私は にシェルアウトしdu
ますが、子プロセスからの出力を 1 行ずつ読み取る方法を理解するのに苦労しています。これが私がこれまでに試したことです:
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
)。