我使用ProcessBuilder從Java應用程序(主機)啓動新進程(子進程)。事情是這樣的:ProcessBulder加載進程但未啓動它
ProcessBuilder processBuilder = createProcess(commandLine);
processBuilder.directory(new File(baseDir));
processBuilder.redirectErrorStream(true);
Process process = null;
try {
process = processBuilder.start();
} catch (Exception e) {
e.printStackTrace();
}
我看到子進程已經啓動系統監視器,但它不能正常工作,除非我停止主機應用程序。更具體地說,子進程是一個服務器,並且在使用ProcessBuilder啓動它之後,如果主機應用程序仍在運行,則它不響應請求。而且,服務器正在使用的端口仍然可用。如果我停止主機應用程序,服務器立即開始工作。有什麼是我錯過的或者這就是ProcessBuilder假設的工作方式? 非常感謝提前。
的[工藝被暫停,直到我關閉程序]可能的複製(https://stackoverflow.com/questions/44210123/process-is-being-paused-until-i-close -the-program) – msrd0 2017-05-27 12:10:06