1
ノード内の子プロセスからのリアルタイムデータを監視したい。私は次のコードスニペットで問題なくこれを行うことができます。Node.jsの子プロセスstdoutとstderrカラムのサイズ
var fs = require('fs');
var spawn = require('child_process').spawn;
(function(){
"use strict";
var processMonitor, processListen, processDeauth;
var parseStreamDataIn = function(data) {
var str = data.toString('utf8');
console.log(str);
};
var init = function() {
processMonitor = spawn('trafficmon' , ['-w'], {'shell': '/bin/bash'});
processMonitor.stdout.on('data', function (data) {
//trafficmon uses stderr, nothing needed here...
});
processMonitor.stderr.on('data', parseStreamDataIn);
processMonitor.on('close', function (code) {
processMonitor = null;
});
};
init();
})();
問題は、データがparseStreamDataIn(で返され、記録されている)は、私が行方不明たい半分のデータを残して、行あたり80の文字(列)に削減されています。
ターミナルウィンドウで単独で実行trafficmonの例(すなわち、手動ワイド120個の文字に拡張された)
EC:XX:XX:XX:XX:XX 131 1 0 0 1 128 120614 HTTPS SSL cluster1.xxxxx.com
私のノードスクリプトは、同じコマンドを実行し、同じサイズの端末にデータをロギングの例窓。
EC:XX:XX:XX:XX:XX 131 1 0 0 1 128 120614 HTTPS SSL clus
ご覧のとおり、文字列の末尾が切り取られています。
子プロセスシェルに行ごとに80個以上の列を返すように指示する方法はありますか?
これは私が必要としていたものです。ありがとうございます! –