likes
comments
collection
share

NodeJs的守护进程pm2

作者站长头像
站长
· 阅读数 59

最近看面经,想到了当初的electron项目,electron项目后台服务是用的nodejs来写的,nodeJs是单进程的,由于设计到大量的计算,有时候会把nodejs给弄崩溃,平常上课也经常听见老师说,企业项目服务器宕机了,要求立马启起来,不然损失很大,秉着求知的心,现在了解到nodejs的守护进程PM2,这篇文章就记录一下我使用PM2,来开启守护nodejs进程。

下载pm2

npm install pm2 -g

mp2启动node

1.在开发的时候也避免不了node宕机,因此我们使用pm2来启动我们的node

pm2 start main.js

会出下如下显示信息:我们可以看到pm2启动了我们的node,并且还给我们放出了进程的pid(pid干啥用的自己去search) NodeJs的守护进程pm2 2.在部署阶段使用pm2 还有个问题,我们在部署的时候不可能是把代码全弄上服务器三,我们那个electron的项目则是将node的服务用pkg将node打包成一个可执行二进制exe文件,同时在electron的主进程用child_process模块启动我们的node.exe,不过无论怎么千变万化还是离不开本质哇

pm2 start  node.exe的路径

我们在main进程启动起来的时候,用child_process 执行这条命令,不是照样可以启动起来?

关闭node

首先我们用命令查看进程

pm2 list

NodeJs的守护进程pm2 我们可以看到pid 有没有小伙伴和我想得一个都知道pid 用操作系统的kill命令来终止服务?但是我们会发现,每一次kill,pm2都会立马给我们启动起来,而且pid也会改变 我们可以用pm2的命令

pm2 stop 0

这个0就是pm2 list 命令下,首行id=0,可以看到status变成了stopped状态,这时候我们的node进程就关闭了。 NodeJs的守护进程pm2 如果我们想要重新启动的话使用命令

pm2 start 0

肯定有小伙伴想到,要是我再使用pm2启动同一个呢?那肯定给你提示 已经启动过了哇

NodeJs的守护进程pm2 最后我们停止了node服务,不想要了我们可以用命令 删除我们list中的服务,这样就不会累计过多了

pm2 delete id

总结Q&A

node的守护进程之一是pm2,其实还有forever,那么问题来了前面我们提到了服务器宕机这种情况,那么java是怎么操作的呢?作为前端程序员,还是得要继续深入了解。

NodeJs的守护进程pm2

转载自:https://juejin.cn/post/7369877722485915702
评论
请登录