美文网首页
child_process子进程

child_process子进程

作者: 剁剁爷 | 来源:发表于2017-02-08 10:57 被阅读0次

    子进程模块:childProcess = require("child_process");

    1、var spawn = childProcess.spawn(command, [,args],[,options]])

         command: 只执行shell指令

         args: 执行参数列表

         options: 环境变量对象


    其中环境变量对象有七个属性:

         env: 环境变量键值对

         cwd:子进程当前的工作目录

         stdio: 子进程的stdio配置

         customFds: 作为子进程stdio使用的文件标示符

         uid: 用户进程ID

         gid: 进程组ID

         detached: 进程组主控制

    //windows系统下的命令;

    var  spawn=require('child_process').spawn,

    free=spawn('cat',['a.txt'],{cwd:'./a'});

    // 捕获标准输出并将其打印到控制台

    free.stdout.on('data',function(data){console.log('标准输出:'+data);});

    // 捕获标准错误输出并将其打印到控制台

    free.stderr.on('data',function(data){console.log('标准错误输出:'+data);})

    ;// 注册子进程关闭事件

    free.on('exit',function(code,signal){console.log('子进程已退出,代码:'+code);});

    2、childProcess.exec(command, function(err, stdout, stderr) {  })

    其中command是shell命令,相当于spawn的command+args

    var childProcess = require("child_process");

    childProcess.exec('node linyanxiang.js', function(err, stdout, stderr) {

            console.log(stdout)

    })

    3.childProcess.execFile(command, [args], [options],function(error, stdout, stderr){});

    是spawn与exec综合

    command,args,options参数的含义与spawn的含义一样,回调函数的用法与exec一样。

    4.fork 父进程与子进程之间建立通信

    //父进程

    var childProcess = require('child_process');

    var subFork = childProcess.fork('sub.js');

    subFork.on('message', function(m) {

           console.log("message" + m);

    })

    subFork.send({'hell0': 'world'})

    //子进程

    process.on('message', function(m) {

          console.log(m)

    })

    process.send({name:'dayday'})

    相关文章

      网友评论

          本文标题:child_process子进程

          本文链接:https://www.haomeiwen.com/subject/lwdvittx.html