Java 关闭当前应用程序,打开另一个应用程序

Java 关闭当前应用程序,打开另一个应用程序,java,Java,在Java代码本身中,什么是优雅地关闭当前正在运行的应用程序,但立即打开另一个Java应用程序的最佳方式?实现这一点的最佳方式是程序中的最后一个“步骤”(最后一段可执行代码)是Runtime.exec(“Whatever.exe”)类型命令 这样,在您的下一个程序启动后,您当前的程序将立即完成当前的执行并“优雅地”关闭。(也就是说,它会在您没有明确说出类似“System.exit(0)”之类的话的情况下关闭)以下代码将优雅地结束当前程序并立即启动另一个程序: Runtime.getRuntime

在Java代码本身中,什么是优雅地关闭当前正在运行的应用程序,但立即打开另一个Java应用程序的最佳方式?

实现这一点的最佳方式是程序中的最后一个“步骤”(最后一段可执行代码)是
Runtime.exec(“Whatever.exe”)类型命令


这样,在您的下一个程序启动后,您当前的程序将立即完成当前的执行并“优雅地”关闭。(也就是说,它会在您没有明确说出类似“System.exit(0)
”之类的话的情况下关闭)

以下代码将优雅地结束当前程序并立即启动另一个程序:

Runtime.getRuntime().addShutdownHook(new Thread() {
    public void run() {
        Runtime.getRuntime().exec("java", "WhateverTheOtherJavaAppIsCalled");
    }
});
System.exit(0);

一旦关闭当前应用程序,以后就不可能再执行任何操作。您可能想在当前应用程序关闭之前触发另一个Java应用程序?此外,这取决于你所说的“优雅地接近”是什么意思。嗯,是的,“优雅地接近”具体是什么意思?对于缺少更好的短语,用这个词认为它能恰当地表达。优雅地关闭、正确地关闭、“无问题关闭”等,这样您的第一个应用程序将永远运行,直到关闭为止。在java中,应用程序可以通过杀死封闭进程来用蛮力杀死,也可以优雅地杀死——当应用程序被编程以便等待退出信号时。您的第一个应用程序是以这种方式编程的吗?如果是,则添加另一种类型的信号,不只是退出,而是在同一进程内启动另一个应用程序。谢谢链接。。。看起来它和我要找的一样。我会投票。。。但是不行。也许在复杂的程序中添加一个关闭钩子会让它更“优雅”。的确!这也是一个好主意。