我正在从nodejs mongodump
执行child_process
命令。
我已经尝试了exec
和spawn
,但mongodump
打印的进度达到了data
stderr
事件,而不是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());
});
mongodump没有崩溃或抛出任何错误,它正在执行它应该。但不知何故,nodejs将输出视为stderr
答案 0 :(得分:0)
mongodump
将日志消息写入stderr
,这并不常见,但由于您需要手动过滤掉错误消息,因此它会使输出中的错误更难解析。 / p>