void killProcess() throws InterruptedException {
    process.destroyForcibly();
    if (process.isAlive()) {
      // process may not terminate immediately after destroyForcibly
      boolean exited = process.waitFor(getTimeout().toMinutes(), MINUTES);
      if (!exited) {
        throw new IllegalStateException(
            "Failed to destroy Gfsh process started in " + workingDir);
      }
    }
  }
this only kills the process of "gfsh -e command", it does not kill the child processes started
by this command.
geode-junit/src/main/java/org/apache/geode/test/junit/rules/gfsh/GfshExecution.java