code: def command(self, details):
          
          log = self._params.get('log', self._discard)
          if '_config_running' not in dir(self._parent) or 'commands' not in self._parent._config_running:
              log.error("Event parent '%s' has no 'commands' config section", self._name)
              return
          commands = self._parent._config_running['commands']
          if self._handler_arg not in commands:
              #  For now, at least, we implement a predefined command 'stop' if there is no
              #  explicit stop.  This probably needs more work because it needs to handle
              #  async commands where 'stop' would translate to a SIGTERM of the pid file.
              #
              if self._handler_arg == 'stop':
                  self._parent.stop()
              else:
                  log.error("Event parent '%s' has no '%s' command configured", self._name, self._handler_arg)
              return
          pid = _exec_process(commands[self._handler_arg], self._parent._context, log=log)
          log.info("Forked pid %d for %s(%s)", pid, self._name, self._handler_arg)
          self._parent._legion.proc_add(event_target(self._parent, 'command_exit', key=pid, arg=self._handler_arg, log=log))
docs: Handles executing a command-based event.  This starts the command
          as specified in the 'commands' section of the task config.
  
          A separate event is registered to handle the command exit.  This
          simply logs the exit status.