code: @Deprecated
      public void kill(Process proc, Map<String, String> modelEnvVars) throws InterruptedException {
          ProcessTree pt = ProcessTree.get();
          if(proc!=null)
              pt.get(proc).killRecursively();
          if(modelEnvVars!=null)
              pt.killAll(modelEnvVars);
      }
docs: In addition to what {@link #kill(Process)} does, also tries to
  kill all the daemon processes launched.
  
  <p>
  Kills the given process (like {@link Process#destroy()}
  but also attempts to kill descendant processes created from the given
  process.
  
  <p>
  In addition, optionally perform "search and destroy" based on environment
  variables. In this method, the method is given a
  "model environment variables", which is a list of environment variables
  and their values that are characteristic to the launched process.
  The implementation is expected to find processes
  in the system that inherit these environment variables, and kill
  them all. This is suitable for locating daemon processes
  that cannot be tracked by the regular ancestor/descendant relationship.
  
  <p>
  The implementation is obviously OS-dependent.
  
  @param proc
  Process to be killed recursively. Can be null.
  @param modelEnvVars
  If non-null, search-and-destroy will be performed.
  @deprecated Use {@link ProcessTree#killAll(Map)} and {@link OSProcess#killRecursively()}