CNode

关于 child_process.exec 的使用

问答
JjamieYou发布于8 年前最后回复8 年前3 回复5122 浏览0 收藏

使用 childprocess.exec 执行shell命令时,shell 命令的log不会被输出到控制台。 例如直接在控制台运行 yarn install,在控制台可以看到安装npm包的日志输出。 但是使用 childprocess.exec('yarn install') 的话,控制台是没有日志输出的。 请问如何解决?

查看回复

回复 (3)

A
atian25#1·8 年前

用 spawn

J
jamieYou#2·8 年前
引用 atian25用 spawn

@atian25 谢谢

F
fwgood#3·8 年前
const { exec } = require('child_process');
exec('cat *.js bad_file | wc -l', (error, stdout, stderr) => {
  if (error) {
    console.error(`exec error: ${error}`);
    return;
  }
  console.log(`stdout: ${stdout}`);
  console.log(`stderr: ${stderr}`);
});

exec需要传递第二个参数来处理标准输出和错误信息

参与回复
登录后即可参与回复。登录