我有一个JAVA代码,我正在执行一个perl脚本。 有些脚本不返回响应代码,但需要密码才能执行。我的代码在这些情况下不返回,process.waitFor()无休止地等待。 我有办法解决这个问题吗?
Process process = pb.start();
int returnCode = process.waitFor();
System.out.print("return code>>"+ returnCode );
我的代码的目标是运行命令并显示响应代码。
答案 0 :(得分:1)
我在这里看到两个选择:
OutputStream
到Proecess::getOutputStream
来正确管理流程的标准输入,以便您可以正确发送输入并让流程完成Process::destroy
或Process::destroyForcibly
),但这意味着你必须选择一个最长的等待时间才能这样做(并且可能会产生问题,因为你实际上是在尝试在一些操作中可能会杀死一个进程)