0
私はnodejs child_process
からmongodump
コマンドを実行しています。ノードchild_processは、mogodumpのstderrに有効な出力を与えます。
Iはexec
とspawn
両方を試みたが、mongodump
によって印刷進行はmongodumpがそれとして実行、クラッシュ、または任意のエラーを投げていない代わりstdout
var exec = require('child_process').exec,
ls = exec('mongodump --gzip --archive="/home/test-machine/test.archive" --db myDB');
ls.stdout.on('data', function (data) {
console.log('stdout: ' + data.toString());
});
ls.stderr.on('data', function (data) {
console.log('stderr: ' + data.toString());
});
ls.on('exit', function (code) {
console.log('child process exited with code ' + code.toString());
});
のstderr
のdata
イベントに当たっていますすべきだ。それはあなたが手動でエラーメッセージをフィルタリングする必要があるため少し難しくエラーの出力を解析なりますが、しかし、どういうわけか、とても珍しいことではありません
彼らはそれを何らかの理由でしていますか?あなたはそれほど珍しいことではないと言いました、どうして私にそれを教えてもらえますか? –
'mongodump'には' stdout'にダンプするオプションがあるので、ログメッセージはそれを妨害し、 'stderr'を使用します。 'stdout'に出力を書き込む(あるいはそうするオプションがある)ツールの多くは、その慣習を使用しています。 – robertklep