nodejs学习--子进程 child_process模块的基本介绍

子进程 child_process模块的基本介绍

众所周知node.js是基于单线程模型架构,这样的设计可以带来高效的CPU利用率,但是无法却利用多个核心的CPU,为了解决这个问题,node.js提供了child_process模块,通过多进程来实现对多核CPU的利用. child_process模块提供了四个创建子进程的函数,分别是spawn,exec,execFile和fork。

spawn函数的简单用法

spawn函数用给定的命令发布一个子进程,只能运行指定的程序,参数需要在列表中给出。如下示例:

    var child_process = require('child_process');
    var child = child_process.spawn( command );
    child.stdout.on('data', function(data) {
      console.log(data);
    });

exec函数的简单用法

exec也是一个创建子进程的函数,与spawn函数不同它可以直接接受一个回调函数作为参数,回调函数有三个参数,分别是err, stdout , stderr,基本使用方法如下:

var child_process = require('child_process');
child_process.exec( command , function(err, stdout , stderr ) {
  console.log( stdout );
});

exec函数可以直接接受一个回调函数作为参数,回调函数有三个参数,分别是err, stdout,stderr,非常方便直接使用,

execFile函数的简单用法

execFile函数与exec函数类似,但execFile函数更显得精简,因为它可以直接执行所指定的文件,基本使用方法如下:

var child_process = require('child_process');
child_process.execFile( file , function(err, stdout , stderr ) {
  console.log( stdout );
});

execFile与spawn的参数相似,也需要分别指定执行的命令和参数,但可以接受一个回调函数,与exec的回调函数相同。

fork函数的简单用法

fork函数可直接运行Node.js模块,所以我们可以直接通过指定模块路径而直接进行操作。使用方法如下:

var child_process = require('child_process');
child_process.fork( modulePath );

该方法是spawn()的特殊情景,用于派生Node进程。除了普通ChildProcess实例所具有的所有方法,所返回的对象还具有内建的通讯通道。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值