3

我编写了一个 Java 程序来为特殊任务运行一些其他进程。我想满足一个 grate 条件,即如果主 java 进程结束或退出,所有子进程都应该退出。我在我的 java 程序中使用了这段代码:

processBuilder = new ProcessBuilder(command);
processBuilder.redirectErrorStream(true);
process = processBuilder.start();

我看到有时这不会发生。要执行的示例命令可能正在调用程序或 shell 文件。我用过waitFor(),但没有效果。我使用 Ubuntu 12.04 和 java 7.21。有人可以帮我解决这个问题吗?

编辑: 即使主java进程意外退出,我也希望操作系统停止子进程。

4

0 回答 0