PM2重新生成不能在重新启动 – dump.pm2被清空

我试图configurationPM2 daemonize一个简单的node.js服务器在centos上。 init.d脚本执行,并且没有错误,但是pm2 list返回一个空列表,并且服务器没有启动。

最初,我试图以不同的用户来开始这个过程(对于那些感兴趣的人,可以通过修改pm2-init.sh来完成)。 但由于复杂性,我决定先尝试让它以root身份运行。

问题的奇怪症状是dump.pm2文件被某些进程清空,因此pm2复活无关。 我设置pm2在重新启动时运行,如下所示

 $ pm2 startup centos $ pm2 start /path/to/my/server.js $ pm2 save 

此时,dump.pm2中有一个很大的JSON对象,服务器正在运行。 然后,运行:

 $ reboot ... wait and log back in $ pm2 list 

它又空了,dump.pm2也是这样!

我不知道什么过程清除这个文件。 我已经尝试重新安装并重新运行启动脚本无济于事。 任何帮助是极大的赞赏。

作为临时解决方法,我将转储文件设置为不可变:

 $ chattr +i /path/to/my/dump.pm2 

这工作。 虽然不是很理想,但是直到我可以确定为什么dump.pm2文件被清空,我才会使用它。