docs: def stop(self):
          """
          Stop the daemon
          """
          # Get the pid from the pidfile
          try:
              pf = file(self.pidfile,'r')
              pid = int(pf.read().strip())
              pf.close()
          except IOError:
              pid = None
  
          if not pid:
              message = "pidfile %s does not exist. Daemon not running?\n"
              sys.stderr.write(message % self.pidfile)
              return # not an error in a restart
  
          # Try killing the daemon process
          try:
              while 1:
                  pgid = os.getpgid(pid)
                  os.killpg(pgid, SIGTERM) # let's kill the whole process tree so that there are no zombies left
                  # os.kill(pid, SIGTERM)
                  time.sleep(0.1)
          except OSError, err:
              err = str(err)
              if err.find("No such process") > 0:
                  os.remove(self.pidfile)
              else:
                  print str(err)
                  sys.exit(1)