Java进程没有终止

时间:2011-06-09 14:04:38

标签: java java-web-start

我有一个通过Webstart启动的Java应用程序。大约一半的时间,这个程序不会死。该程序侦听套接字,当它收到特定命令时,应该关闭。当它收到这个命令时,会打印出它通常应该给java控制台的内容(收到shutdown命令),Java控制台关闭,所有窗口关闭,但java进程继续运行。

我已经尝试将System.exit(0)切换到Runtime.getRuntime()。halt(0)但没有成功 - 同样的问题发生了(我最初的想法是关闭钩子正在影响它)。

此外,当我将VisualVM连接到Java进程时,它还表示在调用halt或exit时它丢失了连接,并且我无法重新连接,但java进程仍然存在。

关于如何解决这个问题的任何想法?我试图在try {}中包装程序并在finally {}中退出/暂停以确保没有任何东西阻止它,尝试停止而不是退出等...

我唯一的想法是Java可能会保留系统资源(文件句柄到套接字或其他东西)或被卡在系统调用中,因此系统不会让它退出 - 但Java控制台关闭,这对我来说似乎是VM正在尝试关闭...

感谢任何想法或想法!

0 个答案:

没有答案