如何知道特定进程何时被卡住?

时间:2010-06-10 16:48:56

标签: java process

有没有办法知道特定进程何时“陷入”Java?

我正在从我的java程序运行外部应用程序。有时,这个应用程序挂起。我想知道这个应用程序什么时候停止工作,所以我可以从我的代码中删除它。我正在考虑从我的代码中的不同线程进行某种类型的监视。

有什么难事吗?

3 个答案:

答案 0 :(得分:1)

在java 6下,您可以获得所有线程的线程转储。如果你每分钟快照这些,你可以看到发生了什么。

答案 1 :(得分:0)

我的第一个问题是问“被困”是什么意思。它是无限循环吗?这是僵局吗?

根据问题的性质,我猜你不知道,但是如果你想做的就是在它挂起时杀掉它,你可以让它定期将一些输出写入文件。另一个进程可以监视这个文件,如果有一些时间段没有看到输出,你可以杀掉它。

答案 2 :(得分:0)

如果其他应用程序也是java,您可以使用Java Service Wrapper监视并在挂起时重新启动它。

http://wrapper.tanukisoftware.org/doc/english/download.jsp