Esempio n. 1
0
 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()