              try:
                  self.process.terminate()
                  self.process.wait(timeout=10)
                  print("Terminated")
              except TimeoutExpired:
                  print("Termination timed out. Killing Process...")
                  self.process.kill()
                  print("Killed")
  
      def set_final_status(self, returncode):
          """ Set the status bar output based on subprocess return code """
          if returncode == 0 or returncode == 3221225786:
 
</s> remove         if returncode == 0 or returncode == 3221225786:
 </s> add         if returncode in (0, 3221225786): </s> remove             try:
                self.process.terminate()
                self.process.wait(timeout=10)
 </s> add             children = psutil.Process().children(recursive=True)
            for child in children:
                child.terminate()
            _, alive = psutil.wait_procs(children, timeout=10)
            if not alive: </s> remove                     os.kill(self.process.pid, signal.CTRL_BREAK_EVENT)
 </s> add                     os.kill(
                        self.process.pid,
                        signal.CTRL_BREAK_EVENT) # pylint: disable=no-member </s> remove class ProcessWrapper(object):
 </s> add class ProcessWrapper():
                return

            print("Termination timed out. Killing Process...")
            for child in alive:
                child.kill()
            _, alive = psutil.wait_procs(alive, timeout=10)
            if not alive:
              try:
                  self.process.terminate()
                  self.process.wait(timeout=10)
                  print("Terminated")
                return

            print("Termination timed out. Killing Process...")
            for child in alive:
                child.kill()
            _, alive = psutil.wait_procs(alive, timeout=10)
            if not alive:
                return

            print("Termination timed out. Killing Process...")
            for child in alive:
                child.kill()
            _, alive = psutil.wait_procs(alive, timeout=10)
            if not alive:
                return

            print("Termination timed out. Killing Process...")
            for child in alive:
                child.kill()
            _, alive = psutil.wait_procs(alive, timeout=10)
            if not alive:
                  print("Killed")
  
      def set_final_status(self, returncode):
          """ Set the status bar output based on subprocess return code """
          if returncode == 0 or returncode == 3221225786:
keep keep keep keep replace replace replace keep keep keep keep keep
 gui bugfix - termination on extract 
lib/gui/wrapper.py