java - 如何获取进程状态?

标签 java exec processbuilder

如何获取进程状态,即正在运行或已完成。

我正在通过以下方式创建新流程:

processBuilder();

最佳答案

没有直接的方法可以为您提供进程的状态,如果您使用 waitFor 那么您当前的线程将等待直到进程终止。
因此,您可以使用包含在类似这样的函数中的 exitValue 函数,

public static boolean isProcessRunning(Process process) 
{
    try 
    {
        process.exitValue();
        return false;
    } 
    catch(IllegalThreadStateException e) 
    {
        return true;
    }
}

然后你可以继续做其他工作,并在需要时调用上面的方法来检查状态。

关于java - 如何获取进程状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20772676/

相关文章:

java - ProcessBuilder 找不到指定的文件,而 Process 可以

java - Java 中的溢出 float

java - 无法使用php exec函数执行java程序

Java:无法使用参数执行外部 exe

c - 在父进程中运行单独的进程

php - 在 IIS 重新启动之前,使用 PHP exec headless 运行 Google Chrome 不会返回输出

java - 在java中使用进程生成器运行批处理文件时出现奇怪的问题

java - twitter4j 使用通用参数名称

java - 使用以下几个队列进行请求-回复

java - 小 pdf 文件会产生巨大的 BufferdImage