我用以下方式从Java代码启动一个Windows进程(用C++编写但我没有源代码):
Process p1 = Runtime.getRuntime().exec(cmdAndParams);
p1.waitFor();
Run Code Online (Sandbox Code Playgroud)
我的问题是waitFor()方法永远不会结束.因此,我尝试在一个简单的shell中启动该过程,它正确地结束了shell中的许多打印(我想是标准输出).
因此,我决定创建并启动读取标准输出的线程,即使我现在不需要这些输出.这解决了这个问题.
所以我的问题是以下问题:这个解决方案是"启动和等待具有输出的外部进程的Java标准",还是意味着本机进程中存在某个问题?如果存在这样的问题,那么C++编程"错误"可能是问题的根源?
| 归档时间: |
|
| 查看次数: |
9784 次 |
| 最近记录: |