Это простой пример из официального документа:Почему node.js запускает два процесса?
$ node test-node.js
var cluster = require('cluster');
var http = require('http');
var numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
// Fork workers.
console.log(numCPUs);
for (var i = 0; i < numCPUs-1; i++) {
cluster.fork();
}
cluster.on('exit', function(worker, code, signal) {
console.log('worker ' + worker.process.pid + ' died');
});
} else {
// Workers can share any TCP connection
// In this case its a HTTP server
http.createServer(function(req, res) {
res.writeHead(200);
res.end("hello world\n");
}).listen(8000);
}
Это то, что я вижу в Htop:
Есть 2 мастера-процессы и две раздвоенных процессы.
Почему? Я думал, что у меня должно быть только 2 процесса!
UPDATE:
Вот я бегу на VM CentOS: http://i.stack.imgur.com/GQiiN.png
Может быть, я не понимаю, что?
Похоже, что вы запустили программу в два раза. –
И как я это сделал? – zoh
Как вы его используете? Из командной строки? Как вы убиваете его между испытаниями? Это поможет получить больше информации, чтобы выяснить, что происходит. –