def __init__(self, argv, time, memory, nproc=1, executable=None, cwd=None, env=None, network_block=False): self.user = UserManager() self.process = ProcessManager(self.user.username, self.user.password) argv = list2cmdline(argv) if not isinstance(argv, unicode): argv = argv.decode('mbcs') self.process.command = argv if executable is not None: if not isinstance(executable, unicode): executable = executable.decode('mbcs') self.process.executable = executable if cwd is not None: if not isinstance(cwd, unicode): cwd = cwd.decode('mbcs') self.process.dir = cwd if env is not None: self.process.set_environment(self._encode_environment(env)) self.process.time_limit = time self.process.memory_limit = memory * 1024 self.process.process_limit = nproc self.returncode = None self.universal_newlines = False if executable is not None and network_block: self.network_block = NetworkManager('wbox_%s' % uuid1(), executable) else: self.network_block = None self.process.spawn()