比如我的机器是双核的,代码如下: 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还一直有用呢?
ps -aux | grep node
看到master.js也在进程里了。。。 还是有点没弄明白复制进程的过程。。。
另外如果我用cluster起了2个子进程,我kill掉主进程后,2个子进程是否肯定也结束了?主进程被kill掉后,有没有什么类似回调函数的东西能重新启动新的主进程呢?
他们共用内存吗? 自豪地采用 CNodeJS ionic
@qingtiandalaoye 进程间内存不共享
@hwoarangzk 用 PM2 守护起来
google linux fork