Tag: 破坏

线程启动的运行进程不会破坏(Java)

启动多个线程并使每个exec()然后destroy()一个正在运行的java进程导致某些进程没有被销毁并且在程序退出后仍然运行。 这是一些重现问题的代码。 我注意到你开始的线程越多,进程就越活跃。 而且,在destroy()之前睡眠越多,进程就越少。 (我使用InfiniteLoop作为示例。任何正在运行的进程都可以解决问题。) 编辑:已经向Oracle报告了Bug,等待答案。 随意分享有关该主题的任何知识/实验。 for(int i = 0; i < 100; i++) { new Thread(new Runnable() { public void run() { try { Process p = Runtime.getRuntime().exec(new String[]{"java", "InfiniteLoop"}); Thread.sleep(1); p.destroy(); }catch(IOException | InterruptedException e){e.printStackTrace();} } }).start(); }