MST
星途 面试题库

面试题:Node.js 中 Child Process 如何实现异步执行命令并获取完整输出

在 Node.js 中,假设你需要通过 Child Process 模块执行一个系统命令(例如 `ls -l`),要求以异步方式执行,并完整获取命令的标准输出和标准错误输出,简述实现思路并给出示例代码。
21.4万 热度难度
前端开发Node.js

知识考点

AI 面试

面试题答案

一键面试

实现思路

  1. 引入 child_process 模块,该模块提供了创建子进程的功能。
  2. 使用 child_process.exec 方法来异步执行系统命令。此方法会创建一个子进程来执行指定的命令,并通过回调函数获取命令的执行结果。
  3. 在回调函数中处理标准输出(stdout)和标准错误输出(stderr)。

示例代码

const { exec } = require('child_process');

exec('ls -l', (error, stdout, stderr) => {
    if (error) {
        console.error(`执行命令失败: ${error.message}`);
        return;
    }
    if (stderr) {
        console.error(`标准错误输出: ${stderr}`);
        return;
    }
    console.log(`标准输出: ${stdout}`);
});