https://nodejs.org/dist/latest-v5.x/docs/api/child_process.html的第一个例子如下:
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}`)
});
这不是错的,因为实际上这个过程(在这种情况下是ls)可能会在一个人开始对事件作出反应之前结束,所以基本上会错过它们。
答案 0 :(得分:0)
没有。虽然ls
是"阻止"进程本身,节点中的子进程的产生是异步的,即上面的代码旋转一个新的进程,注册事件处理程序,然后当进程准备运行命令时它将执行ls
。 / p>