PM2复活不能重启 - dump.pm2被清空

Jam*_*ell 6 centos node.js pm2

我正在尝试将PM2配置为在centos上守护简单的node.js服务器.init.d脚本执行,没有错误,但pm2 list返回一个空列表,服务器没有启动.

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

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

$ pm2 startup centos
$ pm2 start /path/to/my/server.js
$ pm2 save
Run Code Online (Sandbox Code Playgroud)

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

$ reboot
  ... wait and log back in
$ pm2 list
Run Code Online (Sandbox Code Playgroud)

它又是空的,dump.pm2也是如此!

我不确定清除此文件的进程是什么.我已经尝试重新安装并重新运行启动脚本无济于事.任何帮助是极大的赞赏.

Jam*_*ell 4

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

$ chattr +i /path/to/my/dump.pm2
Run Code Online (Sandbox Code Playgroud)

这有效。尽管并不理想,但在确定 dump.pm2 文件被清空的原因之前我将使用它。