code: @NullSafe
    public static boolean kill(Process process) {
      boolean alive = isAlive(process);
  
      if (alive) {
        process.destroy();
  
        try {
          alive = !process.waitFor(KILL_WAIT_TIMEOUT, KILL_WAIT_TIME_UNIT);
        }
        catch (InterruptedException ignore) {
          Thread.currentThread().interrupt();
        }
        finally {
          if (alive) {
            process.destroyForcibly();
  
            try {
              alive = !process.waitFor(KILL_WAIT_TIMEOUT, KILL_WAIT_TIME_UNIT);
            }
            catch (InterruptedException ignore) {
              Thread.currentThread().interrupt();
            }
          }
        }
      }
  
      return !(alive && isAlive(process));
    }
docs: Kills the given {@link Process}.
  
  @param process {@link Process} to kill.
  @return a boolean value indicating whether the the given {@link Process} was successfully terminated.
  @see java.lang.Process
  @see java.lang.Process#destroy()
  @see java.lang.Process#destroyForcibly()
  @see #isAlive(Process)