在nodejs中使用exec()创建新进程时,它是否与当前进程并行运行,nodejs如何处理它?

时间:2019-05-27 12:16:48

标签: node.js multiprocessing exec child-process

由于nodejs是单线程语言,因此它如何创建新进程并进行处理。

const exec = require('child_process').exec;  
exec('my.bat', (err, stdout, stderr) => {  
  if (err) {  
    console.error(err);  
    return;  
  }  
  console.log(stdout);  
});  

1 个答案:

答案 0 :(得分:0)

child_process.spawn(),child_process.fork(),child_process.exec()和child_process.execFile()方法均遵循其他Node.js API典型的惯用异步编程模式。

每个方法都返回一个ChildProcess实例。这些对象实现了Node.js EventEmitter API,允许父进程注册在子进程的生命周期中发生某些事件时调用的侦听器功能。

child_process.exec()和child_process.execFile()方法还允许指定一个可选的回调函数,该函数在子进程终止时被调用。

文档link