Node.js子进程child_process
来源:互联网 发布:java模拟登陆获取数据 编辑:程序博客网 时间:2024/05/21 19:42
众所周知node.js是基于单线程模型架构,这样的设计可以带来高效的CPU利用率,但是无法却利用多个核心的CPU,为了解决这个问题,node.js提供了child_process模块,通过多进程来实现对多核CPU的利用. child_process模块提供了四个创建子进程的函数,分别是spawn,exec,execFile和fork。
1.spawn函数的简单用法
spawn函数用给定的命令发布一个子进程,只能运行指定的程序,参数需要在列表中给出。如下示例:
- var child_process = require('child_process');
- var child = child_process.spawn( command );
- child.stdout.on('data', function(data) {
- console.log(data);
- });
通过执行命令得到返回结果,我们就可以拿到标准输出流数据了。
2.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,非常方便直接使用,
3.execFile函数的简单用法
execFile函数与exec函数类似,但execFile函数更显得精简,因为它可以直接执行所指定的文件,基本使用方法如下:
- var child_process = require('child_process');
- child_process.execFile( file , function(err, stdout , stderr ) {
- console.log( stdout );
- });
execFile与spawn的参数相似,也需要分别指定执行的命令和参数,但可以接受一个回调函数,与exec的回调函数相同。
4.fork函数的简单用法
fork函数可直接运行Node.js模块,所以我们可以直接通过指定模块路径而直接进行操作。使用方法如下:
- var child_process = require('child_process');
- child_process.fork( modulePath );
该方法是spawn()的特殊情景,用于派生Node进程。除了普通ChildProcess实例所具有的所有方法,所返回的对象还具有内建的通讯通道。
1 0
- Node.js子进程child_process
- Node.js 使用 child_process 实现多进程
- Node.js进程通信模块child_process
- Node.js进程通信模块child_process
- Node.js进程通信模块child_process
- Node.js 使用 child_process 实现多进程
- 从Node.js的child_process模块来学习父子进程之间的通信
- nodejs之child_process子进程模块
- node.js 创建子进程 I
- node.js 创建子进程 II
- Node.js学习笔记(6、child_process模块)
- Node.js child_process模块中的spawn和exec方法
- Node.js使用child_process运行脚本的输入输出错误
- child_process spawn 开辟子进程,执行终端命令,获取数据
- 利用NodeJS的子进程(child_process)调用系统命令
- nodejs学习--子进程 child_process模块的基本介绍
- 利用NodeJS的子进程(child_process)调用系统命令
- Node(18) child_process
- Struts2
- 排列组合算法实现--基于JS
- LintCode 解题记录17.5.13(tag: Union Find)
- 《跟我一起写Makefile》读书笔记(3)
- 666:放苹果
- Node.js子进程child_process
- 最大连续子序列和(java)
- scrapy环境搭建
- 面试时,可以问面试官问题总结
- iOS OpenGL ES 研究序一:痛并快乐的OpenGL ES开篇
- 一张图说明softmax layer是什么
- 学习python是为了让你更好的玩
- 1083: 十->二进制转换
- hihoCoder