我正在通过以下命令使用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文件。
所以,如果我是正确的,我该如何解决这个问题?