def _simple_exec_cmd(command, env=None, nice=None, ioclass=None, stdin=None, stdout=None, stderr=None): command = cmdutils.wrap_command(command, with_ioclass=ioclass, ioclassdata=None, with_nice=nice, with_setsid=False, with_sudo=False, reset_cpu_affinity=True) logging.debug(cmdutils.command_log_line(command, cwd=None)) p = CPopen(command, close_fds=True, cwd=None, env=env, stdin=stdin, stdout=stdout, stderr=stderr) return p
def _start_process(self): """ Starts a dd process performing direct I/O to path, reading the process stderr. When stderr has closed, _read_completed will be called. """ cmd = [constants.EXT_DD, "if=%s" % self._path, "of=/dev/null", "bs=4096", "count=1", "iflag=direct"] cmd = cmdutils.wrap_command(cmd) self._proc = CPopen(cmd, stdin=None, stdout=None, stderr=subprocess.PIPE) self._reader = self._loop.create_dispatcher( asyncevent.BufferedReader, self._proc.stderr, self._read_completed)