【发布时间】:2011-11-14 09:49:49
【问题描述】:
我使用的是 MacOS X 10.5,在我看来,即使 javac 成功编译了所有 java 源文件,java 进程也不会停止。每次执行 javac 或执行任何其他 java 相关进程后,我都必须从活动监视器手动“强制退出”进程。
知道为什么 java 进程被卡住并且没有被终止吗?
【问题讨论】:
我使用的是 MacOS X 10.5,在我看来,即使 javac 成功编译了所有 java 源文件,java 进程也不会停止。每次执行 javac 或执行任何其他 java 相关进程后,我都必须从活动监视器手动“强制退出”进程。
知道为什么 java 进程被卡住并且没有被终止吗?
【问题讨论】:
您应该向 java 进程发送一个 QUIT 信号并查看应该发送到控制台的线程转储。
ps auxww | grep java
查找您的 java 进程的 process-id 字段:
kill -QUIT pid-from-ps-above
这将转储(通常到System.out)所有线程的列表。查找未标记为守护线程的线程。这些线程必须自行退出才能停止进程。
查看这里了解更多信息:
http://java.sun.com/developer/technicalArticles/Programming/Stacktrace/
【讨论】: