用cluster的主进程不占进程数么?
发布于 7 年前 作者 hwoarangzk 3432 次浏览 最后一次编辑是 6 年前 来自 问答

比如我的机器是双核的,代码如下: master.js: <pre> var cluster = require(‘cluster’), len = require(‘os’).cpus().length; //这里为2 cluster.setupMaster({ exec: ‘./worker.js’ }); for (var i = 0; i < len; i++) { cluster.fork(); } </pre> 至于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

回到顶部