child_process
模块是 Node.js 的原始模块:javascript
child_process.spawn()
函数提供const { exec } = require('child_process'); exec('ls -la /usr', (error, stdout, stderr) => { console.log(error); console.log(stdout); console.log(stderr); });
回调中的第一个参数:命令执行错误会有值,不然为null 回调中的第二个参数:子进程的正常输出内容 回调中的第三个参数:子进程执行错误的输出
const { spawn } = require('child_process'); const ls = spawn('ls', ['-la', '/usr']); ls.stdout.on('data', (data) => { console.log(`stdout: ${data}`); }); ls.stderr.on('data', (data) => { console.log(`stderr: ${data}`); }); ls.on('close', (code) => { console.log(`子进程退出码:${code}`); });
须要特别注意的是,须要获取执行的内容须要经过流的形式来进行输出java
相同点:数组
不一样点:函数
总结:spawn 比 exec 使用范围要广,所以,能使用 spawn 的尽可能使用 spawn。ui