【发布时间】:2011-09-11 03:26:09
【问题描述】:
我创建了一个 Java 应用程序,其中 main 方法(程序的开始)启动一个 Process 对象和一个 MainWindow 类的对象,该对象创建一个 JFrame。
public static void main(String[] args) throws Exception {
File file = new File("./access/run.bat");
ProcessBuilder process_builder = new ProcessBuilder("cmd", "/c", file.getName());
process_builder.directory(file.getParentFile());
Process process = process_builder.start();
MainWindow window = new MainWindow(process);
}
我想在窗口关闭时终止(杀死)已用 process.destroy() 实例化的进程。下面是 MainWindow 类的一些代码:
public MainWindow(final Process process) throws TransformerException, ParserConfigurationException, Exception{
JFrame mainWindowFrame = new JFrame();
*****some code here*****
mainWindowFrame.addWindowListener(new WindowListener() {
public void windowClosed(WindowEvent arg0) {
process.destroy();
System.exit(0);
}
*****some code here*****
}
}
当窗口关闭时,不幸的是,进程没有被杀死......谁能给我一个解释和可能的解决方案?谢谢!!!
【问题讨论】: