def run_proc_code(cmd, stdin="/dev/null", stdout=None, stderr=None): """run a process, with I/O redirection to specified file paths or open file objects. None specifies inheriting open file. Return exit code rather than raising exception""" try: pl = pipeline.Procline(cmd, stdin=stdin, stdout=stdout, stderr=stderr) pl.wait() except pipeline.ProcException as ex: if ex.returncode is not None: return ex.returncode else: raise ex return 0
def call_proc(cmd, keepLastNewLine=False): """call a process and return stdout, exception with stderr in message. The cmd is either a list of command and arguments, or pipeline, specified by a list of lists of commands and arguments.""" stdout = pipeline.DataReader() pl = pipeline.Procline(cmd, stdin="/dev/null", stdout=stdout, stderr='/dev/null') pl.wait() out = stdout.get() if (not keepLastNewLine) and (len(out) > 0) and (out[-1] == "\n"): out = out[0:-1] return out
def call_proc(cmd, keepLastNewLine=False): """call a process and return stdout, exception with stderr in message. The cmd is either a list of command and arguments, or pipeline, specified by a list of lists of commands and arguments.""" stdout = pipeline.DataReader() cmd = cmdLists(cmd) logger.debug('About to run command: %s' % cmd) now = time.time() pl = pipeline.Procline(cmd, stdin="/dev/null", stdout=stdout) pl.wait() logger.debug('Command %s took %s seconds.' % (cmd, time.time() - now)) out = stdout.get() if (not keepLastNewLine) and (len(out) > 0) and (out[-1] == "\n"): out = out[0:-1] return out
def run_proc(cmd, stdin="/dev/null", stdout=None, stderr=None): """run a process, with I/O redirection to specified file paths or open file objects. None specifies inheriting open file.""" cmd = cmdLists(cmd) pl = pipeline.Procline(cmd, stdin=stdin, stdout=stdout, stderr=stderr) pl.wait()