我的服务器以代码 137 退出

My server exited with code 137

我使用 C++11、boost::asio 和 HDF5 编写了一个 C++ server/client 对。服务器 运行 正常了一段时间(2 天),然后它以代码 137 停止。由于我用无限循环执行服务器,它重新启动了。

不幸的是,我的错误日志没有提供足够的信息来理解问题。所以我一直试图理解这段代码的含义。似乎一致认为这意味着它是 128+9 的错误,9 意味着程序被 kill -9 杀死。现在我完全不确定为什么会这样。我需要帮助才能找出答案。

进一步阅读,我发现它可能已经被系统杀死了,因为它超过了某个允许的执行时间,因此被系统杀死了。现在这不太可能了,因为我的 linux 服务器是由我的大学提供的,所以他们可能会应用某种安全措施来执行此操作。我在 linux 中读到了一个叫做 timeout 的东西。 我的第一个问题是:我怎么知道这是否是问题的原因?

我的第二个问题是:我还应该检查什么来理解这个问题?你会怎么做?请指教

如果您需要任何其他信息,请询问。

谢谢。

听起来你已经突破了内存限制,你的 linux 内存管理器向你的进程发送了 SIGKILL。在那种情况下,您应该检查 /var/log/messages 文件以查看是否有任何相关内容。这是我要做的第一件事。如果您没有权限,请与您的系统管理员联系。