产生一个运行可执行文件的进程

如果你要运行文件,例如可执行文件,请使用 child_process.execFile。它不会像 child_process.exec 那样产生一个 shell,而是直接创建一个新进程,这比运行命令稍微有效一些。该功能可以这样使用:

const execFile = require('child_process').execFile;
const child = execFile('node', ['--version'], (err, stdout, stderr) => {
  if (err) {
    throw err;
  }

  console.log(stdout);
});

child_process.exec 不同,此函数最多可接受四个参数,其中第二个参数是你要提供给可执行文件的参数数组:

child_process.execFile(file[, args][, options][, callback]);

否则,选项和回调格式在其他方面与 child_process.exec 相同。同步版本的功能也是如此:

const execFileSync = require('child_process').execFileSync;
const stdout = execFileSync('node', ['--version']);
console.log(stdout);