yog-pm -


未知
跨平台
JavaScript

软件简介

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

安装

$ npm install -g yog-pm

使用

[](https://github.com/fex-team/yog-

pm#startorreload–%E5%90%AF%E5%8A%A8pm2%E6%9C%8D%E5%8A%A1)startOrReload :
启动pm2服务

服务没有启动时start服务,服务已经启动则会reload。

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

[](https://github.com/fex-team/yog-

pm#memwatch–%E5%86%85%E5%AD%98%E6%B3%84%E6%BC%8F%E5%A4%84%E7%90%86)memwatch :
内存泄漏处理

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

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

[](https://github.com/fex-team/yog-

pm#daemon–%E6%9C%8D%E5%8A%A1%E5%AE%88%E6%8A%A4%E5%8A%9F%E8%83%BD)daemon :
服务守护功能

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

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

配置

为了能够利用node的易安装特点,yog-pm支持非全局安装的pm2和node,需要在pm2的配置文件中指定pm2和node的安装目录。

  • pm2_bim : 指定pm2的安装目录,不指定默认为全局安装

  • node_bin : 指定node的安装目录,不指定默认为全局安装

    [{
    

    “name” : “pm_app”,
        “script”  : “examples/args.js”,
        “pm2_bin” : ”/home/users//pm2/bin”
        “node_bin” : ”/home/users/
    /node/bin”
    }]

[](https://github.com/fex-team/yog-

pm#%E9%85%8D%E5%90%88crontab%E5%91%BD%E4%BB%A4)配合crontab命令

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功能,参考这里如何使用。