【Node.js从基础到高级运用】使用child_process模块创建子进程
const { spawn } = require('child_process');
// 创建一个子进程来运行命令
function runCommand(command) {
const child = spawn('bash', ['-c', command]);
// 捕获标准输出并将其打印到控制台
child.stdout.on('data', (data) => {
console.log(`标准输出:\n${data}`);
});
// 捕获标准错误并将其打印到控制台
child.stderr.on('data', (data) => {
console.error(`标准错误输出:\n${data}`);
});
// 注册子进程关闭事件
child.on('close', (code) => {
console.log(`子进程退出码:${code}`);
});
// 处理可能发生的错误
child.on('error', (err) => {
console.error(`子进程出现错误:${err}`);
});
// 可以通过child对象发送信号或者关闭子进程
// child.kill(); // 关闭子进程
}
// 使用示例
runCommand('ls -l');
这段代码演示了如何使用Node.js的child_process
模块中的spawn
函数来创建一个子进程,并运行一个shell命令。它展示了如何捕获和处理标准输出、标准错误输出以及子进程的关闭事件。这是一个在实际应用中常见的模式,对于学习如何在Node.js中处理外部程序的输入输出非常有帮助。
评论已关闭