NodeJs——子进程

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



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


一,创建子进程


//spawn函数用给定的命令发布一个子进程,只能运行指定的程序,参数需要在列表中给出
var child_process = require('child_process');
var child = child_process.spawn('grep', ['ssh']); 
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 );
});


三,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实例所具有的所有方法,所返回的对象还具有内建的通讯通道。






目录
相关文章
|
3月前
网络编程之 创建多个子进程,避免踩坑。
创建多个子进程 那我们就接着上一篇的博客来讲吧。 如果有朋友提前做过实验的话应该回踩到一点坑吧??比如说我只想要创建5个子进程然后让每个进程打印自己的ID号,但是结果却创建出来了多个进程。博主之前也遇到过这些坑,所以博主现在再这里给大家讲解一下,大家所遇到的情况是如何产生的。 下面请朋友们先看一下博主的演示过程(错误示范)。
26 0
|
10月前
|
Unix Linux
Linux 的父进程和子进程的执行情况(附有案例代码)
Linux 的父进程和子进程的执行情况(附有案例代码)
|
安全 Unix Shell
Python 异步: 在非阻塞子进程中运行命令(19)
Python 异步: 在非阻塞子进程中运行命令(19)
431 0
|
JavaScript 前端开发 网络协议
Nodejs 必知的「事件循环」
JavaScript引擎本身不实现事件循环机制。浏览器中的事件循环由浏览器实现的,NodeJS中事件循环主要是由底层Libuv库实现的。 Libuv库是事件驱动的,其封装和统一了不同平台的API实现。NodeJS的跨平台和事件循环机制都是通过Libuv库实现的。
153 0
|
算法 物联网 Linux
创建进程 fork 函数|学习笔记
快速学习创建进程 fork 函数
144 0
创建进程 fork 函数|学习笔记
|
缓存 JavaScript Unix
Nodejs多进程
nodejs学习笔记
86 0
Nodejs多进程
|
Ubuntu Linux 开发工具
Linux使用fork()方法创建进程
Linux使用fork()方法创建进程
117 0
Linux使用fork()方法创建进程
|
Linux
Linux系统编程-进程创建(fork)、外部程序调用(exec)
在linux中fork函数是非常重要的函数,它可以从已存在进程中创建一个新进程。新进程为子进程,而原进程为父进程。
483 0
linux环境下fork()函数简介
linux环境下fork()函数简介
linux环境下fork()函数简介
Python多进程 主进程结束前如何销毁子进程
Python多进程 主进程结束前如何销毁子进程