2023-03-07 16:15:03 +00:00
|
|
|
const exec = require('child_process').exec;
|
2023-02-26 19:10:25 +00:00
|
|
|
const execFile = require('child_process').execFile;
|
2023-03-16 22:49:18 +00:00
|
|
|
const logger = require('../logger').global;
|
2020-02-19 04:55:06 +00:00
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param {String} cmd
|
|
|
|
* @returns {Promise}
|
|
|
|
*/
|
|
|
|
exec: function (cmd) {
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
exec(cmd, function (err, stdout, /*stderr*/) {
|
|
|
|
if (err && typeof err === 'object') {
|
|
|
|
reject(err);
|
|
|
|
} else {
|
|
|
|
resolve(stdout.trim());
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
2023-02-26 19:10:25 +00:00
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
2023-03-16 22:49:18 +00:00
|
|
|
* @param {String} cmd
|
|
|
|
* @param {Array} args
|
2023-02-26 19:10:25 +00:00
|
|
|
* @returns {Promise}
|
|
|
|
*/
|
2023-03-16 22:49:18 +00:00
|
|
|
execFile: function (cmd, args) {
|
|
|
|
logger.debug('CMD: ' + cmd + ' ' + (args ? args.join(' ') : ''));
|
2023-02-26 19:10:25 +00:00
|
|
|
return new Promise((resolve, reject) => {
|
2023-03-16 22:49:18 +00:00
|
|
|
execFile(cmd, args, function (err, stdout, /*stderr*/) {
|
2023-02-26 19:10:25 +00:00
|
|
|
if (err && typeof err === 'object') {
|
|
|
|
reject(err);
|
|
|
|
} else {
|
|
|
|
resolve(stdout.trim());
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
2020-02-19 04:55:06 +00:00
|
|
|
}
|
|
|
|
};
|