首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从JVM捕获SIGTERM

从JVM捕获SIGTERM
EN

Stack Overflow用户
提问于 2013-11-19 07:55:46
回答 1查看 881关注 0票数 1

在bash中是一个有用的命令trap。它拦截SIGKILLSIGHUP等各种信号进行处理。

所以..。我们有一个问题,Tomcat有时会在没有任何明显原因的情况下死去。在日志文件中没有任何有用的信息。

我的想法是将trap添加到其java模拟命令中,以便在使用TomcatJVM死亡之前收集

我如何在Java中做到这一点?请注意-我不是Java程序员。

谢谢你的建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-19 08:03:15

JVM (至少是Oracle的)已经安装了信号处理程序,并将信号转换为异常和其他有用的东西。见http://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-VM/html/signals.html

通常,当Tomcat在没有日志的情况下死亡时,它是堆栈或堆空间耗尽的症状(Tomcat运行在与web应用程序相同的JVM中,而行为不当的应用程序可能会在日志刷新之前使服务器崩溃)。

你用的是什么版本的Tomcat?如果您正在使用Tomcat 6+,则可以完全禁用日志缓冲,以便在写入最终消息时刷新它们。见http://tomcat.apache.org/tomcat-6.0-doc/logging.html

对于朱莉,一个负值的bufferSize会在每次写完后强制刷新。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20066075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档