有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如果我只想检查进程是否正常启动,我应该读取输出/错误流吗

这段代码检查进程是否会正常启动

protected boolean isInstalled(File executable, List<String> args)
{
    if (!executable.exists())
        return false;

    try
    {
        List<String> cmdLine = new ArrayList<>();
        cmdLine.add(new Path(executable.getAbsolutePath()).toOSString());
        cmdLine.addAll(args);

        Process process = new ProcessBuilder(cmdLine).start();

        if (process.waitFor(8, TimeUnit.SECONDS))
        {
            return (process.exitValue() == 0);
        }
        else
        {
            process.destroy();
            return false;
        }
    }
    catch (IOException ex)
    {
        return false;
    }
    catch (InterruptedException ex)
    {
        Thread.currentThread().interrupt();
        return false;
    }
}

当我只想检查流程是否正常启动时,是否需要读取流?这个过程是否可能以这种方式挂起


共 (0) 个答案