If you are looking to run a file, such as an executable, use child_process.execFile .
Instead of spawning a shell like child_process.exec
would, it will directly create a
new process, which is slightly more efficient than running a command. The function can
be used like so:
const execFile = require('child_process').execFile;
const child = execFile('node', ['--version'], (err, stdout, stderr) => {
if (err) {
throw err;
}
console.log(stdout);
});
Unlike child_process.exec , this function will accept up to four parameters, where the second parameter is an array of arguments you'd like to supply to the executable:
child_process.execFile(file[, args][, options][, callback]);
Otherwise, the options and callback format are otherwise identical to child_process. exec . The same goes for the
const execFileSync = require('child_process').execFileSync;
const stdout = execFileSync('node', ['--version']);
console.log(stdout);