无法理解子进程创建的顺序

时间:2016-02-23 19:18:05

标签: javascript node.js

我刚开始使用node,在这个程序中,我正在创建3个子进程,但是以奇怪的顺序接收返回信号。

parent.js

var child_process = require("child_process");

for(var i=0;i<3;i++){
    var child = child_process.exec("node child.js "+i,function(err,stdout){
        if(err)
            console.log(err);
        else
            console.log(stdout);
    });
};

child.js

var num = process.argv[2];
console.log("Child process "+num+" started.");
process.on('exit',function(){
    console.log("Process "+num+" ended.");
});

输出:

Child process 2 started.
Process 2 ended.

Child process 0 started.
Process 0 ended.

Child process 1 started.
Process 1 ended.

我认为这可能是竞争条件,但我每次都得到确切的输出。我真的不确定这背后的原因。

(Ubuntu 14.04,Node 5.5)

0 个答案:

没有答案