使用pm2 restart,有一定概率导致重启失败,进程假死。
原因是pm2 restart并没有采用激进的措施(kill -9)确保旧进程结束。
重现步骤:用gdb调试运行中的node进程(gdb node <PID>后不执行任何gdb命令),然后用pm2 restart重启服务,此时旧的进程杀不死,新的进程被创建。
所以,比较靠谱的操作是,先pm2 stop吧。。。
还有日志的一些处理,可以参考下面这篇,写得挺好http://blog.kankanan.com/article/540e53f0670d52a176d162a45de55177ff1a-forever-4e0e-pm2.html
网友评论