code: def close(self, force=False):
          
          if not self.closed:
              self.pty.close()
              self.fileobj.close()
              self._server.close()
              # Give kernel time to update process status.
              time.sleep(self.delayafterclose)
              if self.isalive():
                  if not self.terminate(force):
                      raise IOError('Could not terminate the child.')
              self.fd = -1
              self.closed = True
              del self.pty
              self.pty = None
docs: This closes the connection with the child application. Note that
          calling close() more than once is valid. This emulates standard Python
          behavior with files. Set force to True if you want to make sure that
          the child is terminated (SIGKILL is sent if the child ignores
          SIGINT).