使用ProcessBuilder运行包装的.jar

时间:2018-07-12 11:33:24

标签: java jar exe processbuilder

我正在通过以下命令使用ProcessBuilder执行.exe;

Process proc = new ProcessBuilder("C:\\test.exe").start();

此test.exe实际上是一个包装在exe中的.jar。

我的可执行文件可以正常运行,但这是问题所在;

当我的程序被以下代码终止时,我正在监听;

ProcessHandle ph = proc.toHandle();
CompletableFuture<ProcessHandle> onExit = ph.onExit();
onExit.get();
onExit.thenAccept(ph_ -> System.out.println("PID " + ph_.pid() + " terminated."));

无论何时执行test.exe,它都会立即打印出该进程已终止,但我的程序仍在运行。我猜这是因为我的程序是.exe,但实际上是在任务管理器中运行的.jar文件。

所以,如果我是正确的,我该如何解决这个问题?

0 个答案:

没有答案