gpt4 book ai didi

java - 如何检查 Runtime.exec(cmd) 是否完成

转载 作者:搜寻专家 更新时间:2023-10-31 19:32:40 24 4
gpt4 key购买 nike

如何检查Runtime.exec(cmd)是否完成?

它正在运行,但我如何检查 java 程序中的命令是否已执行?

如果我使用进程进行检查,那么它会阻塞当前线程。如果我停止运行程序,那么 Runtime.exec(cmd) 正在执行。我该怎么办?

最佳答案

Process实例可以帮助您通过其 InputStream 和 Outpustream 操纵运行时的执行。

流程实例有一个waitFor()允许当前 Thread 等待子进程终止的方法。

要控制进程的完成,您还可以获取运行时的 exitValue,但这取决于进程返回的内容。

这里是一个简单的示例,说明如何使用 waitFor 并获取处理结果(请注意,这将阻塞当前线程,直到处理结束)。

public int runCommand(String command) throws IOException
{
int returnValue = -1;
try {
Process process = Runtime.getRuntime().exec( command );
process.waitFor();
returnValue = process.exitValue();
} catch (InterruptedException e) {
e.printStackTrace();
}

return returnValue;
}

关于java - 如何检查 Runtime.exec(cmd) 是否完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31020705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com