我用 Java 创建了一个项目,并在 Linux 终端上运行了它的 .jar 文件,但在成功终止程序后,我的程序结束了,但终端窗口没有关闭。我尝试了“java.lang.System.exit(0)”,但窗口也没有关闭。
我正在通过打开终端并运行来运行程序java -jar filename.jar
我希望当 Java 程序退出时终端也退出。
答案1
正如您已经提到的,System.exit()
只是退出 Java 程序,而不是调用 shell。Java 程序停止后,有两种方法可以关闭终端窗口:
运行 Java 程序并exit
在一行中添加命令:
java -jar filename.jar; exit
这将调用java -jar filename.jar
,当该命令返回时,将执行 shell 的exit
命令(有效地关闭终端窗口)。
或者代替通过发出以下命令将当前 shell 与 Java 进程关联起来
exec java -jar filename.jar
这样, 的当前实例bash
就被 的实例所取代
java
。因此,当 Java 进程停止时,终端窗口将关闭。