docs: def _spawnProcess(self, processProtocol, executable, args=(), env=None,
                        path=None, uid=None, gid=None, usePTY=False, childFDs=None):
          """private implementation of reactor.spawnProcess, to allow use of
          L{ProcGroupProcess}"""
          if env is None:
              env = {}
  
          # use the ProcGroupProcess class, if available
          if runtime.platformType == 'posix':
              if self.useProcGroup and not usePTY:
                  return ProcGroupProcess(reactor, executable, args, env, path,
                                          processProtocol, uid, gid, childFDs)
  
          # fall back
          if self.using_comspec:
              return self._spawnAsBatch(processProtocol, executable, args, env,
                                        path, usePTY=usePTY)
          return reactor.spawnProcess(processProtocol, executable, args, env,
                                      path, usePTY=usePTY)