我有一个Java进程。我正在使用log4j
用于记录目的。我已在 log4j.xml
中指定、日志文件的位置和名称。日志记录工作正常。我对kill -3
有疑问在这里记录。
我尝试使用 kill -QUIT <pid>/ killl -3 <pid>
获取进程转储。我期望 kill -3
生成的转储在 log4j.xml
中指定的日志文件中获取更新。
但事实并非如此。我需要转储观察者线程状态。我不知道有任何其他方法来获取正在运行的进程的进程转储。
最佳答案
kill -3
应该输出到标准输出,所以它应该在你的标准输出所在的任何地方。如果没有,您可以尝试使用 -XX:LogFile
JVM 选项。
替代方法是 NPE 建议的 jstack
。
另一种选择是使用 jvisualvm
- 它将在其漂亮的 GUI 中生成 stackdump,您可以从那里复制它。
关于java - kill -退出: log not getting appended,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14394902/