rubick
Version:
tools for mtc
35 lines (31 loc) • 875 B
JavaScript
/**
* Created by hongzhiyuan on 2017/5/18.
*/
let childProcess = require('child_process');
class CmdUtil {
static exec(cmd, options) {
let defaultOption = {
encoding: 'utf8',
timeout: 100000,
maxBuffer: 1024 * 1024 * 1024,
killSignal: 'SIGTERM',
cwd: null,
env: null
};
if (options) {
let extend = require('extend');
defaultOption = extend(true, defaultOption, option);
}
return new Promise((resolve, reject) => {
childProcess.exec(cmd, defaultOption, (err, stdout, stderr) => {
if (err) {
reject(err, stdout, stderr);
} else {
resolve(stdout, stderr);
}
});
});
}
}
module.exports = CmdUtil;