code: def _SendTerminationMessage(self, status=None):
      
      if not self.runner_args.request_state.session_id:
        # No parent flow, nothing to do here.
        return
  
      if status is None:
        status = rdf_flows.GrrStatus()
  
      client_resources = self.context.client_resources
      user_cpu = client_resources.cpu_usage.user_cpu_time
      sys_cpu = client_resources.cpu_usage.system_cpu_time
      status.cpu_time_used.user_cpu_time = user_cpu
      status.cpu_time_used.system_cpu_time = sys_cpu
      status.network_bytes_sent = self.context.network_bytes_sent
      status.child_session_id = self.session_id
  
      request_state = self.runner_args.request_state
      request_state.response_count += 1
  
      # Make a response message
      msg = rdf_flows.GrrMessage(
          session_id=request_state.session_id,
          request_id=request_state.id,
          response_id=request_state.response_count,
          auth_state=rdf_flows.GrrMessage.AuthorizationState.AUTHENTICATED,
          type=rdf_flows.GrrMessage.Type.STATUS,
          payload=status)
  
      # Queue the response now
      self.queue_manager.QueueResponse(msg)
      self.QueueNotification(session_id=request_state.session_id)
docs: This notifies the parent flow of our termination.