Node.js 中 child_process模块的spawn和exec 方法之间的区别
来源:互联网 发布:空气曲棍球 淘宝 编辑:程序博客网 时间:2024/05/17 13:39
Node.js 子进程模块 (child_process
) 有两个方法 spawn
和exec
, 这两个方法的功能都是启动一个新进程。
child_process.spawn
和 child_process.exec 两个方法
之间最重要的区别就在于它们的返回对象。child_process.spawn
方法返回的是一个带有 标准输出 stdout
和 stderr
的流对象。child_process.exec
返回的是子进程输出缓冲区中所有的内容。 缓冲区默认容量是 200k,如果子进程返回的数据超过了这个容量限制,程序就会崩溃,相应的错误信息是"Error: maxBuffer exceeded"。通过调整exec 的参数中缓冲容量这一项来可以解决这个问题。但是,如果需要子进程返回大量数据Node 进程,最好使用child_process.spawn
方法。
child_process.spawn
和 child_process.exec
两个方法
之间另外一个重要的区别在于它们的子进程异步方式有区别。child_process.spawn
是 "异步式异步(asynchronously asynchronous)",就是说,当一旦子进程启动后,就会向其返回的流对象输送数据。child_process.exec
是"同步式异步(synchronously asynchronous)",意思是说尽管子进程执行是按照异步执行的,但是exec方法会等到子进程执行完毕后才将缓冲区内的数据一并返回主进程。
- Node.js 中 child_process模块的spawn和exec 方法之间的区别
- Node.js child_process模块中的spawn和exec方法
- nw.js node-webkit系列(25)child_process中spawn和exec方法的使用
- [朝花夕拾]关于nodejs中child_process之中spawn和exec的区别
- Node child_process的fork,spawn,exec我有话要说
- linux 下node.js 使用child_process模块的exec方法所遇问题
- 从Node.js的child_process模块来学习父子进程之间的通信
- exec与spawn方法的区别与陷阱
- Node.js中request模块与http模块之间的区别
- node.js 在使用child_process 模块时候,调试端口占用的问题解决方案(EADDRINUSE)
- Windows下Node.js使用child_process模块调用系统命令的编码问题
- Node.js进程通信模块child_process
- Node.js进程通信模块child_process
- Node.js进程通信模块child_process
- Node.js使用child_process运行脚本的输入输出错误
- system和exec、spawn这两个函数族的函数的区别
- Node.js中require、exports、module模块的区别
- Node.js模块导出exports 和 module.exports 的区别
- 适合程序员的两样工具
- 从指定服务器地址下载一张图片到SD卡上
- ubuntu desktop cd、server、alternate三个版本的区别
- 关于编译x264的一点附加小说明
- MongoDB mapReduce和Spring Data配合使用详解
- Node.js 中 child_process模块的spawn和exec 方法之间的区别
- Java IO学习笔记一
- Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
- cache组相连,页着色
- 黑马程序员_关于内部类和外部类的调用关系
- 黑马程序员_内部类的访问规则:
- [gkk]会员注册与激活
- SQLServer 2008以上误操作数据库恢复方法——日志尾部备份
- 动画分析