我编写了一个Java程序来运行其他特殊任务的进程。我想满足一个条件条件,即如果主java进程结束或退出,所有子进程都应该退出。我在我的java程序中使用了这段代码:
processBuilder = new ProcessBuilder(command);
processBuilder.redirectErrorStream(true);
process = processBuilder.start();
我发现有时这不会发生。要执行的示例命令可能是调用程序或shell文件。我使用了waitFor()
,但效果不佳。我使用Ubuntu 12.04和java 7.21。有人可以帮我这个吗?
修改 我希望操作系统停止子进程,即使主java进程意外退出。