code: def create_fresh_child_cgroup(self, *subsystems):
          
          assert set(subsystems).issubset(self.per_subsystem.keys())
          createdCgroupsPerSubsystem = {}
          createdCgroupsPerParent = {}
          for subsystem in subsystems:
              parentCgroup = self.per_subsystem[subsystem]
              if parentCgroup in createdCgroupsPerParent:
                  # reuse already created cgroup
                  createdCgroupsPerSubsystem[subsystem] = createdCgroupsPerParent[parentCgroup]
                  continue
  
              cgroup = tempfile.mkdtemp(prefix=CGROUP_NAME_PREFIX, dir=parentCgroup)
              createdCgroupsPerSubsystem[subsystem] = cgroup
              createdCgroupsPerParent[parentCgroup] = cgroup
  
              # add allowed cpus and memory to cgroup if necessary
              # (otherwise we can't add any tasks)
              def copy_parent_to_child(name):
                  shutil.copyfile(os.path.join(parentCgroup, name), os.path.join(cgroup, name))
              try:
                  copy_parent_to_child('cpuset.cpus')
                  copy_parent_to_child('cpuset.mems')
              except IOError:
                  # expected to fail if cpuset subsystem is not enabled in this hierarchy
                  pass
  
          return Cgroup(createdCgroupsPerSubsystem)
docs: Create child cgroups of the current cgroup for at least the given subsystems.
          @return: A Cgroup instance representing the new child cgroup(s).