美文网首页
Node.js 多进程

Node.js 多进程

作者: 最帅的坏兔子 | 来源:发表于2018-12-04 23:08 被阅读10次

    support.js

    console.log('进程' + process.argv[2] + '执行。');
    

    master.js

    const fs = require('fs');
    const child_process = require('child_process');
    for(var i=0; i<3; i++){
        var workerProcess = child_process.exec('node support.js '+i, function(error, stdout, stderr){
            if (error) {
                console.log(error.stack);
                console.log('Error code: '+ error.code);
                console.log('Signal received: '+ error.signal);
            }
            console.log('stdout: '+ stdout);
            console.log('stderr: '+ stderr);
        });
        workerProcess.on('exit', function(code){
            console.log('子进程已退出,退出码 ' + code);
        });
    }
    
    exec() 方法.png

    master.js

    const fs = require('fs');
    const child_process = require('child_process');
    for(var i=0; i<3; i++){
        var workerProcess = child_process.spawn('node', ['support.js', i]);
        workerProcess.stdout.on('data', function(data){
            console.log('stdout' + data);
        });
        workerProcess.stderr.on('data', function(data){
            console.log('stderr' + data);
        });
        workerProcess.on('close', function(code){
            console.log('子进程已退出,退出码 ' + code);
        });
    }
    
    spawn() 方法.png

    master.js

    const fs = require('fs');
    const child_process = require('child_process');
    for(var i=0; i<3; i++){
        var workerProcess = child_process.fork('support.js', [i]);
        workerProcess.on('close', function(code){
            console.log('子进程已退出,退出码 ' + code);
        });
    }
    
    fork() 方法.png

    相关文章

      网友评论

          本文标题:Node.js 多进程

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