从 JAR 文件启动和停止 java 进程

Start and Stop java process from JAR Fil

我正在为一个项目开发多平台 GUI。 GUI 需要具有使用按钮启动和停止其他 .jar 文件的功能。

GUI 在 Java 中编码并编译为可执行 Jar 文件。

例如

当按下 JButton 启动时,文件 project_release.jar 被启动。

当按下 JButton 停止时,project_release.jar 文件终止并关闭。

如何才能做到这一点,使其适用于所有操作系统?

我查看了流程构建器、运行时等,但我不确定它是否适用于多个 OS。

感谢您的帮助。

Runtime.getRuntime().exec() 或 ProcessBuilder() 应该都可以正常工作,但您需要知道 java 可执行文件在您的平台上的位置。如果 java 可执行文件在 PATH 中,那么这将跨平台工作:

Process proc = Runtime.getRuntime().exec("java -jar project_release.jar");

要终止它,您可以在程序之间使用套接字连接并发送一条消息,让另一个程序终止。如果出现问题而其他程序忽略了该消息,您可以使用:

proc.destroy();

但它可能会在重要的事情中中断其他程序。