在bash中是一个有用的命令trap。它拦截SIGKILL、SIGHUP等各种信号进行处理。
所以..。我们有一个问题,Tomcat有时会在没有任何明显原因的情况下死去。在日志文件中没有任何有用的信息。
我的想法是将trap添加到其java模拟命令中,以便在使用Tomcat的JVM死亡之前收集。
我如何在Java中做到这一点?请注意-我不是Java程序员。
谢谢你的建议。
发布于 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会在每次写完后强制刷新。
https://stackoverflow.com/questions/20066075
复制相似问题