pomelo start命令的背后-pomelo源码分析(1)

pomelo start命令的背后-pomelo源码分析(1)

首先,$which pomelo发现全局的pomelo命令指向的是/usr/local/bin/pomelo文件,该文件是/usr/local/lib/node_modules/pomelo/bin/pomelo文件的软链接,直接查看该文件的内容,我们发现这个pomelo其实就是一个js文件。而且头一行为:屏幕快照 2015-04-21 下午5.42.59 ,这句话表示告诉系统,我们要调用node进程来执行pomelo这个js脚本文件。$pomelo start = $node /usr/local/bin/pomelo$pomelo start -D = $node /usr/local/bin/pomelo start -D

再往下看,有这么一段代码:

这是Node.js的commander模块的用法,commander模块比Node.js内置的process.argv强大得多,具体用法自己百度。上面这段代码很容易理解,就是对start参数,调用下面这个start(opts)函数。

最后让我们来实际验证一下上面的结论。在game-server目录下执行$pomelo start,然后再开一种终端检查$ps -ef|grep node,你会发现有如下两个进程:屏幕快照 2015-04-21 下午8.59.23

2093 号进程”node /usr/local/bin/pomelo start” 就是 pomelo start进程,它负责解析pomelo start命令的参数,然后生成2094号子进程”/usr/…/node /Users/…/app.js env=development type=all”。这个子进程就是pomelo服务器进程组中的master服务进程,它又负责生成gate、connector等子服务器进程。

发表评论

电子邮件地址不会被公开。 必填项已用*标注