code: def exec_nb_cmd(self, cmd):
          '''
          Yield None until cmd finished
          '''
          r_out = []
          r_err = []
          rcode = None
          cmd = self._cmd_str(cmd)
  
          logmsg = 'Executing non-blocking command: {0}'.format(cmd)
          if self.passwd:
              logmsg = logmsg.replace(self.passwd, ('*' * 6))
          log.debug(logmsg)
  
          for out, err, rcode in self._run_nb_cmd(cmd):
              if out is not None:
                  r_out.append(out)
              if err is not None:
                  r_err.append(err)
              yield None, None, None
          yield ''.join(r_out), ''.join(r_err), rcodf exec_nb_cmd(self, cmd):
          '''
          Yield None until cmd finished
          '''
          r_out = []
          r_err = []
          rcode = None
          cmd = self._cmd_str(cmd)
  
          logmsg = 'Executing non-blocking command: {0}'.format(cmd)
          if self.passwd:
              logmsg = logmsg.replace(self.passwd, ('*' * 6))
          log.debug(logmsg)
  
          for out, err, rcode in self._run_nb_cmd(cmd):
              if out is not None:
                  r_out.append(out)
              if err is not None:
                  r_err.append(err)
              yield None, None, None
          yield ''.join(r_out), ''.join(r_err), rcode
docs: Yield None until cmd finished