模块概览
在node中,child_process这个模块非常重要。掌握了它,等于在node的世界开启了一扇新的大门。熟悉shell脚本的同学,可以用它来完成很多有意思的事情,比如文件压缩、增量部署等,感兴趣的同学,看文本文后可以尝试下。
举个简单的例子:
const spawn = require('child_process').spawn;const ls = spawn('ls', ['-lh', '/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(`child process exited with code ${code}`);});
几种创建子进程的方式
注意事项:
下面列出来的都是异步创建子进程的方式,每一种方式都有对应的同步版本。
.exec()
、.execFile()
、.fork()
底层都是通过网友评论