zoukankan      html  css  js  c++  java
  • Node.js学习笔记(5)——关于child_process模块

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

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

    spawn、exec、execFile、fork。

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

    spawn不支持回调函数。

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

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

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

     1 var child_process = require('child_process');
     2 //调用执行文件
     3 var openApp = function(){
     4     child_process.execFile('D:/testweb/1.bat',null,{cwd:'D:/'},function (error,stdout,stderr) {
     5         if (error !== null) {
     6           console.log('exec error: ' + error);
     7         }
     8     });
     9 }
    10 
    11 openApp();

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

     参考资料:

    http://my.oschina.net/u/252343/blog/185998

    https://www.byvoid.com/zhs/blog/node-child-process-ipc/

    官方文档:

    http://nodejs.org/api/child_process.html

  • 相关阅读:
    11.枚举类.md
    10. Lambda表达式.md
    9.内部类
    8.抽象类、接口和多态.md
    7.final关键字.md
    jQuery学习笔记(5)-事件与事件对象
    Log4Net学习笔记(1)-完整的例子
    SqlServer知识点-操作xml
    NHibernate常见错误汇总(0)-持续更新中
    jQuery学习笔记(4)-设置元素的属性和样式
  • 原文地址:https://www.cnblogs.com/lamian/p/3962869.html
Copyright © 2011-2022 走看看