我刚刚安装了 CentOS 8 并添加了 nodejs(尝试了 v12 和 v14)然后我使用 npm install pm2@latest 安装了 pm2(所以在发布时它使用 v4.4.0)。我确实尝试过旧版本 (v3.5.0),但它的作用完全相同。
安装 pm2 后,我运行命令“pm2 startup”
重新启动后,pm2 确实启动,但在 90 秒后被杀死,然后重新启动并给出此消息
“pm2 已被信号杀死,退出前转储进程列表......”
首先,我认为这是因为我的应用程序(pm2 应该管理的应用程序),但我从 pm2 中删除了它,所以它实际上是空的,但它做同样的事情
最佳答案
稍后更新。对于那些面临同样问题的人。这是一个与 SE Linux 相关的问题。已知的解决方法(我发现的那些)。
# dnf install policycoreutils-python-utils setroubleshoot-server -y
# journalctl -f
此时,您应该在输出(日志)中看到解决方案它应该是这样的:
# ausearch -c 'systemd' --raw | audit2allow -M my-systemd
# semodule -i my-systemd.pp
您需要执行最后一步(ausearch ... 和 semodule ...)两次 - 我做了一次,重新启动机器并在 90 秒后注意到相同的问题。但是如果你仔细阅读日志,你会发现问题似乎输出了两次。 (看起来一样)。可能有两件事正在尝试写入该文件(pm2-root.service)。仍在等待完美的解决方案(由真正知道如何以正确方式解决此问题的人完成),但对于那些有此问题的人,这些选项中的任何一个似乎都可以正常工作。
关于PM2 在 centos 8 上每 90 秒就会被杀死一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62814539/