2013-07-17 32 views
0

所以,我希望节点打开几百个相同的进程,并能够接收来自每个进程的响应并对其进行处理。我没有用节点之前...使用子进程

我已经试过这样:

var Spawner = require('child_process'); 

for (x=0; x<100; ++x) 
{ 
    MyApplication = Spawner.spawn('HandShake.exe'); 
} 

MyApplication.stdout.on('data', function(data) { 
    console.log('stdout: ' + data); 
}); 

不过,我只拿到1个响应到stdout,因为我深信的变种被每个时间覆盖。

如果可能的话,我该如何去得到我产卵的每个子进程的响应?

谢谢。

回答

3

是的你是对的。您的变量在每次运行中都会被覆盖。因此,你只能听最后一个实例。在循环中添加监听器。

var Spawner = require('child_process'); 

for (x=0; x<100; ++x) 
{ 
    MyApplication = Spawner.spawn('HandShake.exe'); 
    MyApplication.stdout.on('data', function(data) { 
     console.log('stdout' + data); 
    }); 
} 
+0

图例。谢谢。 – Anonymous