def wait(self): """Wait for child process to terminate. Returns returncode attribute.""" if self.returncode is None: _subprocess.WaitForSingleObject(self._handle, _subprocess.INFINITE) self.returncode = _subprocess.GetExitCodeProcess(self._handle) return self.returncode
def terminate(self): try: _subprocess.TerminateProcess(self._handle, 1) except OSError as e: if e.winerror != 5: raise rc = _subprocess.GetExitCodeProcess(self._handle) if rc == _subprocess.STILL_ACTIVE: raise self.returncode = rc
def terminate(self): ''' Terminates the process ''' try: _subprocess.TerminateProcess(self._handle, 1) except OSError: # ERROR_ACCESS_DENIED (winerror 5) is received when the # process already died. ecode = _subprocess.GetExitCodeProcess(self._handle) if ecode == _subprocess.STILL_ACTIVE: raise self.exitstatus = ecode
def wait(self, timeout=None): if self.returncode is None: if timeout is None: msecs = _subprocess.INFINITE else: msecs = max(0, int(timeout * 1000 + 0.5)) res = _subprocess.WaitForSingleObject(int(self._handle), msecs) if res == _subprocess.WAIT_OBJECT_0: code = _subprocess.GetExitCodeProcess(self._handle) if code == TERMINATE: code = -signal.SIGTERM self.returncode = code return self.returncode
def terminate(self): """Terminates the process """ try: _subprocess.TerminateProcess(self._handle, 1) except OSError as e: # ERROR_ACCESS_DENIED (winerror 5) is received when the # process already died. if e.winerror != 5: raise rc = _subprocess.GetExitCodeProcess(self._handle) if rc == _subprocess.STILL_ACTIVE: raise self.returncode = rc
def _Popen_terminate(self): """taken from subprocess.py of python 2.7""" try: _subprocess.TerminateProcess(self._handle, 1) except OSError: ex = sys.exc_info()[1] # ERROR_ACCESS_DENIED (winerror 5) is received when the # process already died. if ex.winerror != 5: raise rc = _subprocess.GetExitCodeProcess(self._handle) if rc == _subprocess.STILL_ACTIVE: raise self.returncode = rc
def wait(self): if self.returncode is None: _subprocess.WaitForSingleObject(self._handle, _subprocess.INFINITE) self.returncode = _subprocess.GetExitCodeProcess(self._handle) return self.returncode