我使用C ++ 11,boost :: asio和HDF5编写了一个C ++服务器/客户端对。服务器运行正常一段时间(2天),然后它停止了代码137.因为我执行了无限循环的服务器,它重新启动。
不幸的是,我的错误日志没有提供足够的信息来理解问题。所以我一直试图理解这段代码的含义。似乎已达成共识,这意味着它是128+9
的错误,9
意味着程序被kill -9
杀死。现在我不确定为什么会发生这种情况。我需要帮助才能找到答案。
通过进一步阅读,我发现它可能已被系统杀死,因为它超过了某个允许的执行时间,因此系统将其杀死。现在这不太可能,因为我的linux服务器是由我的大学提供的,所以他们可以应用某种安全性来做到这一点。我在linux中读到了一些名为timeout
的内容。 我的第一个问题是:我怎么知道这是否是问题的原因?
我的第二个问题是:我应该检查一下以了解这个问题?你会怎么做?请指教。
如果您需要任何其他信息,请询问。
感谢。
答案 0 :(得分:7)
听起来你已经破坏了内存限制,你的linux内存管理器将SIGKILL发送到你的进程。在这种情况下,您应该检查/ var / log / messages文件以查看是否有任何相关信息。这是我要做的第一件事。如果您没有权限,请查看您的系统管理员。