添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
傲视众生的饭卡  ·  Mac ...·  1 年前    · 
开朗的领带  ·  uniapp iOS 头部空白 ...·  2 年前    · 

node js exec vs execsync

Node.js 提供了 exec execSync 两个函数来执行系统命令。

  • exec 函数是异步执行系统命令,它会立即返回一个 ChildProcess 对象,并在命令执行完成后调用回调函数。
  • execSync 函数是同步执行系统命令,它会阻塞 Node.js 的事件循环直到命令执行完成,然后返回执行结果。
  • 两者的用法类似,都可以传入一个字符串表示要执行的命令,并可以通过配置对象来指定执行环境、输入输出等选项。

    例如,以下代码使用 exec 函数执行 ls -l 命令:

    const { exec } = require('child_process');
    exec('ls -l', (error, stdout, stderr) => {
      if (error) {
        console.error(`exec error: ${error}`);
        return;
      console.log(`stdout: ${stdout}`);
      console.log(`stderr: ${stderr}`);
    

    使用 execSync 函数的代码类似,只是将 exec 替换为 execSync 即可。

    注意,因为 execSync 函数是同步执行的,所以它不支持回调函数。在执行结束后,可以通过返回值获取命令的输出。

    const { execSync } = require('child_process');
    const result = execSync('ls -l');
    console.log(result.toString());
            程序媛李李李李李蕾