用cluster的主进程不占进程数么?
发布于 10天前 作者 hwoarangzk 219 次浏览 来自 问答

比如我的机器是双核的,代码如下: master.js:

    var cluster = require('cluster'),
          len = require('os').cpus().length; //这里为2
    cluster.setupMaster({
        exec: './worker.js'
    });
    for (var i = 0; i < len; i++) {
        cluster.fork();
    }
至于worker.js的内容,就是那个hello world的http服务器。 node master.js启动后,通过ps aux|grep worker.js可以看到进程中两个fork出来的子进程,一个核起一个进程,我就双核的,但是master.js不占用进程么?为啥master.js还一直有用呢?
7 回复
ps -aux | grep node

看到master.js也在进程里了。。。 还是有点没弄明白复制进程的过程。。。

另外如果我用cluster起了2个子进程,我kill掉主进程后,2个子进程是否肯定也结束了?主进程被kill掉后,有没有什么类似回调函数的东西能重新启动新的主进程呢?

他们共用内存吗? 自豪地采用 CNodeJS ionic

@qingtiandalaoye 进程间内存不共享

@hwoarangzk 用 PM2 守护起来

google linux fork

回到顶部