with open(env_path, 'w') as env_out:
pprint.pprint(env, stream=env_out)
- p = subprocess.Popen(args, stdout=stdout, stderr=stderr, env=env)
+ p = subprocess.Popen(args, stdout=stdout, stderr=stderr, env=env, cwd=cwd)
self.__subprocess[tmp_id] = p
self.__stdout_stderr[tmp_id] = (stdout, stderr)
_logger.debug("Spawned sub pid: {} args: {} stdout: {} stderr{}".format(p.pid, p.args, out_path, err_path))
return tmp_id
- def run(self, command_line, cwd=None, check_return=True, ld_preload=""):
+ def run(self, command_line, cwd=None, check_return=True, ld_preload="", classpath=""):
"""
Run the command and return a tuple of a (CompletedProcess, stdout_path,
stderr_path). The subprocess is already executed and returned. The
if ld_preload:
env['LD_PRELOAD'] = ld_preload
+ if classpath:
+ env['CLASSPATH'] = classpath
tmp_id = self._run_command_count