code: def handle_termination(cls, pid, is_cancel=True):
          '''
          Internal method to terminate a subprocess spawned by `pexpect` representing an invocation of runner.
  
          :param pid:       the process id of the running the job.
          :param is_cancel: flag showing whether this termination is caused by
                            instance's cancel_flag.
          '''
          try:
              main_proc = psutil.Process(pid=pid)
              child_procs = main_proc.children(recursive=True)
              for child_proc in child_procs:
                  try:
                      os.kill(child_proc.pid, signal.SIGKILL)
                  except (TypeError, OSError):
                      pass
              os.kill(main_proc.pid, signal.SIGKILL)
          except (TypeError, psutil.Error, OSError):
              try:
                  os.kill(pid, signal.SIGKILL)
              except (OSError):
                  pasf handle_termination(cls, pid, is_cancel=True):
          '''
          Internal method to terminate a subprocess spawned by `pexpect` representing an invocation of runner.
  
          :param pid:       the process id of the running the job.
          :param is_cancel: flag showing whether this termination is caused by
                            instance's cancel_flag.
          '''
          try:
              main_proc = psutil.Process(pid=pid)
              child_procs = main_proc.children(recursive=True)
              for child_proc in child_procs:
                  try:
                      os.kill(child_proc.pid, signal.SIGKILL)
                  except (TypeError, OSError):
                      pass
              os.kill(main_proc.pid, signal.SIGKILL)
          except (TypeError, psutil.Error, OSError):
              try:
                  os.kill(pid, signal.SIGKILL)
              except (OSError):
                  pass
docs: Internal method to terminate a subprocess spawned by `pexpect` representing an invocation of runner.
  
          :param pid:       the process id of the running the job.
          :param is_cancel: flag showing whether this termination is caused by
                            instance's cancel_flag.