code: public void start() {
      if (log.isLoggable(Level.FINE)) {
        log.fine(String.format("Starting command: %s", commandString()));
      }
      ProcessBuilder builder = new ProcessBuilder(args);
      if (workingDir != null) {
        builder.directory(workingDir);
      }
      if (!environment.isEmpty()) {
        Map<String, String> env = builder.environment();
        env.putAll(environment);
      }
  
      try {
        process = builder.start();
      } catch (IOException e) {
        throw new WebDriverException("failed to start process " + args, e);
      }
  
      threads.add(listen(process.getInputStream(), out, true));
      threads.add(listen(process.getErrorStream(), err, false));
    }
docs: Starts the command. Doesn't wait for it to finish. Doesn't wait for stdout and stderr either.