【发布时间】:2025-12-19 03:20:23
【问题描述】:
我使用 ProcessBuilder 从 Java 应用程序(主机)启动一个新进程(子进程)。像这样的:
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 应该如何工作的吗? 提前谢谢了。
【问题讨论】:
标签: java processbuilder