【发布时间】:2012-04-19 14:03:24
【问题描述】:
我正在尝试制作一个 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 相同的数据。
【问题讨论】:
标签: node.js readline child-process