kill -QUIT:log没有被追加

时间:2013-01-18 08:21:04

标签: java log4j monitoring kill-process

我有一个Java进程。我正在使用log4j进行日志记录。我在log4j.xml中指定了日志文件的位置和名称。日志记录工作正常。我在这里遇到kill -3日志的问题。

我尝试使用kill -QUIT <pid>/ killl -3 <pid>获取进程转储。我希望kill -3生成的转储在log4j.xml中指定的日志文件中更新。

但事实并非如此。我需要转储到观察者线程状态。我不知道任何其他方法来获取正在运行的进程的进程转储。

2 个答案:

答案 0 :(得分:1)

  

我需要转储到观察者线程状态。我不知道任何其他方法来获取正在运行的进程的进程转储。

您可以使用jstack

答案 1 :(得分:1)

kill -3应输出到stdout,因此它应该是你的stdout去的地方。如果不是,您可以尝试使用-XX:LogFile JVM选项。

NPE建议的替代方式是jstack

另一种选择是使用jvisualvm - 它会在其漂亮的GUI中生成stackdump,你可以从那里复制它。

相关问题