parameters: (self, force=False)
docstring: This forces a child process to terminate. It starts nicely with
          SIGHUP and SIGINT. If "force" is True then moves onto SIGKILL. This
          returns True if the child was terminated. This returns False if the
          child could not be terminated.
docstring_summary: This forces a child process to terminate. It starts nicely with
          SIGHUP and SIGINT. If "force" is True then moves onto SIGKILL. This
          returns True if the child was terminated. This returns False if the
          child could not be terminated.
docstring_tokens: This forces a child process to terminate . It starts nicely with SIGHUP and SIGINT . If force is True then moves onto SIGKILL . This returns True if the child was terminated . This returns False if the child could not be terminated .
function: def terminate(self, force=False):
  
          """This forces a child process to terminate. It starts nicely with
          SIGHUP and SIGINT. If "force" is True then moves onto SIGKILL. This
          returns True if the child was terminated. This returns False if the
          child could not be terminated. """
  
          if not self.isalive():
              return True
          try:
              self.kill(signal.SIGHUP)
              time.sleep(self.delayafterterminate)
              if not self.isalive():
                  return True
              self.kill(signal.SIGCONT)
              time.sleep(self.delayafterterminate)
              if not self.isalive():
                  return True
              self.kill(signal.SIGINT)
              time.sleep(self.delayafterterminate)
              if not self.isalive():
                  return True
              if force:
                  self.kill(signal.SIGKILL)
                  time.sleep(self.delayafterterminate)
                  if not self.isalive():
                      return True
                  else:
                      return False
              return False
          except OSError, e:
              # I think there are kernel timing issues that sometimes cause
              # this to happen. I think isalive() reports True, but the
              # process is dead to the kernel.
              # Make one last attempt to see if the kernel is up to date.
              time.sleep(self.delayafterterminate)
              if not self.isalive():
                  return True
              else:
                  return False
function_tokens: def terminate ( self , force = False ) : if not self . isalive ( ) : return True try : self . kill ( signal . SIGHUP ) time . sleep ( self . delayafterterminate ) if not self . isalive ( ) : return True self . kill ( signal . SIGCONT ) time . sleep ( self . delayafterterminate ) if not self . isalive ( ) : return True self . kill ( signal . SIGINT ) time . sleep ( self . delayafterterminate ) if not self . isalive ( ) : return True if force : self . kill ( signal . SIGKILL ) time . sleep ( self . delayafterterminate ) if not self . isalive ( ) : return True else : return False return False except OSError , e : # I think there are kernel timing issues that sometimes cause # this to happen. I think isalive() reports True, but the # process is dead to the kernel. # Make one last attempt to see if the kernel is up to date. time . sleep ( self . delayafterterminate ) if not self . isalive ( ) : return True else : return False