$ pm2 stop serverone # 停止 serverone 进程
$ pm2 start app.json # 启动进程, 在 app.json里设置选项
$ pm2 start app.js -i max -- -a 23 #在--之后给 app.js 传递参数
$ pm2 start app.js -i max -e err.log -o out.log # 启动 并 生成一个配置文件
你也可以执行用其他语言编写的app ( fork 模式):
$ pm2 start my-bash-script.sh -x --interpreter bash
$ pm2 start my-python-script.py -x --interpreter python
pm2 list
列出由pm2管理的所有进程信息,还会显示一个进程会被启动多少次,因为没处理的异常。

pm2 monit
监视每个node进程的CPU和内存的使用情况。

入门教程
挑我们最爱的express应用来举例。一般我们都是通过npm start启动应用,其实就是调用node ./bin/www。那么,换成pm2就是
pm2 start ./bin/www –watch这里用了–watch参数,意味着当你的express应用代码发生变化时,pm2会帮你重启服务。
参数说明:
--watch:监听应用目录的变化,一旦发生变化,自动重启。如果要精确监听、不见听的目录,最好通过配置文件。
-i --instances:启用多少个实例,可用于负载均衡。如果-i 0或者-i max,则根据当前机器核数确定实例数目。
--ignore-watch:排除监听的目录/文件,可以是特定的文件名,也可以是正则。比如--ignore-watch="test node_modules "some scripts""
-n --name:应用的名称。查看应用信息的时候可以用到。
-o --output <path>:标准输出日志文件的路径。
-e --error <path>:错误输出日志文件的路径。
--interpreter <interpreter>:the interpreter pm2 should use for executing app (bash, python...)。比如你用的coffee script来编写应用。完整命令行参数列表:
pm2 start app.js –watch -i 2配置文件
配置文件里的设置项,跟命令行参数基本是一一对应的。
可以选择yaml或者json文件,就看个人洗好了。
json格式的配置文件,pm2当作普通的js文件来处理,所以可以在里面添加注释或者编写代码,这对于动态调整配置很有好处。
如果启动的时候指定了配置文件,那么命令行参数会被忽略。(个别参数除外,比如–env)
举个简单例子:
{
"name" : "fis-receiver", // 应用名称
"script" : "./bin/www", // 实际启动脚本
"cwd" : "./", // 当前工作路径
"watch": [ // 监控变化的目录,一旦变化,自动重启









