yog-pm

yog-pm

yog-pm : The enhance for pm2

yog-pm是在pm2的基础上提供了几个增强命令,提高pm2的易用性和稳定性。

$ npm install -g yog-pm

###startOrReload : 启动pm2服务

服务没有启动时start服务,服务已经启动则会reload。解决了多个用户同时运行pm2时,日志文件修改权限报错问题。

$ ypm startOrReload /home/wangcheng/demo/pm2-pro.json #利用pm2-pro.json文件启动引用 

###memwatch : 内存泄漏处理

检查pm2的子进程内存占用状况,对于超过内存设定值的子进程进行重启。

$ ypm memwatch /home/wangcheng/demo/pm2-pro.json
ypm memwatch -s 250  #设置检测阀值为250M 

###daemon : 服务守护功能

pm2提供了startup功能利用linux的systemd或者startup守护pm2服务 但需要root权限,大多数线上机器都无法使用此功能,提供daemon命令守护pm2服务。

$ ypm daemon /home/wangcheng/demo/pm2-pro.json

###init : 初始化pm2的配置文件

生成pm2的配置文件模版,支持dev和pro两种模式。 生成的只是一个模版,需要指定name和script。

$ ypm init -env dev #生成pm2配置文件 

###yog-pm配置

  • yogPm_log : 配置yog-pm运行生成的log的位置目录,每个命令独立一个log文件

memwatch、daemon等功能建议配合crontab一起使用。

* * * * * /home/users/wangcheng/.jumbo/bin/node /home/users/wangcheng/wenku-node/base/node_modules/.bin/ypm daemon /home/users/wangcheng/wenku-node/base/pm2-pro.json
* * * * * /home/users/wangcheng/.jumbo/bin/node /home/users/wangcheng/wenku-node/base/node_modules/.bin/ypm memwatch -s 52

针对我厂内部noah等提供了crontab功能,参考这里如何使用。