我在 Mac OS X Mavericks 上运行 Netbeans 8.0。
我有一个非常简单的项目来验证我在执行项目并杀死它们时看到的问题,并且在我杀死 Netbeans 中的项目进程后看到 JVM 实例仍在执行。
public class Tester {
private static final Logger logger=Logger.getLogger(Tester.class);
public static void main ( String[] args ){
for( int x=0;x<34324324;x++){
logger.info("hey");
try {
Thread.sleep(2000);
} catch (InterruptedException ex) {
java.util.logging.Logger.getLogger(Tester.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
在我从 Netbeans 中执行此操作并从 Netbeans 中终止项目执行后,我在终端上创建了一个进程列表,与该项目进程相关的 JVM 进程仍在执行。我什至尾随我的 log4j 日志文件,它仍在写入记录器。
即使在完全杀死 Netbeans 之后 - JVM 进程仍在运行。
我注意到这个错误报告: https ://netbeans.org/bugzilla/show_bug.cgi?id=232322
然而,这个错误报告是专门针对多线程应用程序的,而我的显然不是。