pm2 服务进程管理
我们使用NodeJS或Express等框架编写服务端程序时,难免出现没做好错误处理或是由于其他原因,导致进程意外终止的情况。pm2是NodeJS的一个服务进程管理工具,它能在进程崩溃后自动重启,此外还提供了一个监控界面,保证服务程序的可用性。
安装pm2
pm2一般对于我们本地开发电脑是用不上的,因此通常是在服务器上安装,此时建议全局安装到系统中,以便管理多个进程。
npm install -g pm2
使用pm2启动服务
这里我们有一个Express编写的HTTP服务,不使用pm2时启动命令可能为node ./index.js。如果使用pm2管理服务,则启动命令如下:
pm2 start ./index.js
执行后,我们会看到类似如下的输出:

pm2可以管理多个服务,被管理的服务会显示在列表中。
在Docker镜像中使用pm2
如果在Docker镜像中使用pm2,注意我们需要使用--no-daemon参数保留前台进程,否则容器会直接结束运行。
pm2 start ./index.js --no-daemon
pm2管理服务命令
pm2提供了一些命令来管理其维护的进程列表,这里我们简单介绍一下。
启动app.js服务进程:
pm2 start app.js
查看服务进程列表:
pm2 list
停止pm2表格中序号为1的服务进程:
pm2 stop 1
删除pm2表格中序号为1的服务进程:
pm2 delete 1
pm2监控面板
我们可以直接使用以下命令查看pm2的监控面板(它是类似Vim的一个基于终端的GUI):
pm2 monit
作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。