code: def stop(self, timeout=None):
          
          assert self.state == STARTED, "Process not started"
          self.state = STOPPING
          # Allow every controller a chance to clean up
          self._run_hook(ProcessStopHook, timeout=timeout)
          for s in self._spawned:
              if not s.ready():
                  self.log.debug(
                      "Waiting for %s *%s **%s", s._function, s._args, s._kwargs)
              s.wait(timeout=timeout)
          self._spawned = []
          self._controllers = OrderedDict()
          self._unpublished = set()
          self.state = STOPPED
          self.log.debug("Done process.stop()")
docs: Stop the process and wait for it to finish
  
          Args:
              timeout (float): Maximum amount of time to wait for each spawned
                  object. None means forever