Node.js基础教程学习笔记(5)

child_process是node一个比较重要的模块,通过它可以实现创建多线程,来利用多核CPU。

这个模块提供了四个创建子进程的函数。

spawn、exec、execFile、fork。

spawn是最原始的创建子进程的函数,剩下的三个是对这个函数不同程度的封装。

spawn不支持回调函数。

fork只能执行js文件。例如fork('./child.js');

总结一下:当你想要从子进程返回大量数据时使用spawn,如果只是返回简单的状态信息,那么使用exec。

exec和execFile均支持回调函数。区别就是后者不用启动独立的shell,相对来说更加轻量级。我们拿execFile举例说明(打开存放在固定位置的bat文件,执行文件的命令行)(亲测通过):

var child_process = require('child_process');
//调用执行文件
var openApp = function(){
    child_process.execFile('D:/testweb/1.bat',null,{cwd:'D:/'},function (error,stdout,stderr) {
        if (error !== null) {
          console.log('exec error: ' + error);
        }
    });
}

openApp();

bat文件是个很好玩的东西,后面会有bat文件的博文。^_^

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/4b03ff7467daef72a4d362e20f1400d1.html