var cluster = require('cluster');

var http    = require('http');

var numCPUs = require('os').cpus().length;


//fork 이후에 코드를 다시 읽을 대는 worker가 읽는 거라 master가 아니기 때문에 cluster.isMaster = false가 된다.

if (cluster.isMaster)

{

console.log('난 마스터다.');

for (var i=0;i<numCPUs ;i++ )

{

console.log('worker process create');

cluster.fork();

}


cluster.on('exit', function(worker, code, signal){

console.log('worker ${worker.process.pid} died');

cluster.fork();

});

}else{

console.log('난 워커다.');

http.createServer(function(req, res){

res.writeHead(200);

res.end('helloworld');

console.log(cluster.worker.process.pid);

}).listen(8000, function(){

console.log(cluster.worker.process.pid);

});

}


그냥 돌아다니는 cluster기본 예제인데..

내 생각엔 8000포트를공유하는 worker를 생성하고
그워커들이 기다리고있다가 8000으로 들어오면 반응하는건데..

console.log(cluster.worker.process.pid);

이거로 pid찍으면 왜 똑같은 pid만 찍히징?