面试题答案
一键面试以下是在Node.js环境下,使用child_process
模块控制子进程,并捕获子进程错误信息的代码示例:
const { spawn } = require('child_process');
// 启动子进程,这里以执行一个不存在的命令为例
const child = spawn('nonexistentCommand', []);
// 捕获子进程的错误
child.on('error', (err) => {
console.error('子进程启动错误:', err.message);
});
// 捕获子进程的标准错误输出
child.stderr.on('data', (data) => {
console.error('子进程错误输出:', data.toString());
});
在上述代码中:
- 使用
spawn
方法启动一个子进程,这里尝试执行一个不存在的命令nonexistentCommand
。 - 通过监听子进程的
error
事件,可以捕获到子进程启动失败的错误,例如命令不存在等情况。 - 通过监听子进程
stderr
流的data
事件,可以捕获到子进程运行过程中输出到标准错误的信息。