0

我有一个Java进程。我log4j用于记录目的。我已经指定log4j.xml了日志文件的位置和名称。日志记录工作正常。kill -3我这里的日志有问题。

我试图使用kill -QUIT <pid>/ killl -3 <pid>. 我希望生成的转储kill -3log4j.xml.

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

4

2 回答 2

1

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

你可以用jstack这个。

于 2013-01-18T08:34:13.430 回答
1

kill -3应该输出到标准输出,所以它应该是你的标准输出的任何地方。如果没有,您可以尝试使用-XX:LogFileJVM 选项。

替代方法是jstackNPE 建议的。

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

于 2013-01-18T08:38:16.663 回答