我需要从java进程调用外部进程/脚本/ cli命令 由于这些调用会非常多,有些会返回运行的进程/脚本的结果,而其他人只会运行它,我想知道是否:
ProcessBuilder
构建标准设计
所以我没有分散在ProcessBuilder
的代码调用中
不断final String
?答案 0 :(得分:2)
你的问题有点模糊,无法写出准确的答案,但我有一些建议:
launch
方法以启动进程并捕获stdout和stderr(在两个线程中),以编写驱动程序的日志。如果我尝试对您的问题进行分类,我认为主要是在控制流。
要解决一个大问题,您可以使用并行性:同时启动多个进程并等待所有进程终止:它是 rendez-vous 或 join 阶段。您可以将远程命令启动到另一台联网计算机。
如何在XML文件中指定并行性的一个很好的示例是ANT build files:
<parallel>
<wlrun ... >
<sequential>
<sleep seconds="30"/>
<junit fork="true" forkmode="once" ... >
<wlstop/>
</sequential>
</parallel>
我可以建议您使用ANT解决您的问题而无需编程吗?
希望执行的图纸可能有用,用纸和笔......; - )
几个图形应用程序可能有助于绘制控制流的逻辑图。完成后,将其发布到此处,您将获得更精确的答案,我希望......