本文整理匯總了Python中_subprocess.WaitForSingleObject方法的典型用法代碼示例。如果您正苦於以下問題:Python _subprocess.WaitForSingleObject方法的具體用法?Python _subprocess.WaitForSingleObject怎麽用?Python _subprocess.WaitForSingleObject使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類_subprocess
的用法示例。
在下文中一共展示了_subprocess.WaitForSingleObject方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: _internal_poll
# 需要導入模塊: import _subprocess [as 別名]
# 或者: from _subprocess import WaitForSingleObject [as 別名]
def _internal_poll(
self, _deadstate=None,
_WaitForSingleObject=_subprocess.WaitForSingleObject,
_WAIT_OBJECT_0=_subprocess.WAIT_OBJECT_0,
_GetExitCodeProcess=_subprocess.GetExitCodeProcess
):
"""Check if child process has terminated. Returns returncode
attribute.
This method is called by __del__, so it can only refer to objects
in its local scope.
"""
if self.returncode is None:
if _WaitForSingleObject(self._handle, 0) == _WAIT_OBJECT_0:
self.returncode = _GetExitCodeProcess(self._handle)
return self.returncode
示例2: wait
# 需要導入模塊: import _subprocess [as 別名]
# 或者: from _subprocess import WaitForSingleObject [as 別名]
def wait(self, timeout=None, endtime=None):
"""Wait for child process to terminate. Returns returncode
attribute."""
if endtime is not None:
timeout_millis = self._remaining_time(endtime)
if timeout is None:
timeout_millis = _subprocess.INFINITE
else:
timeout_millis = int(timeout * 1000)
if self.returncode is None:
result = _subprocess.WaitForSingleObject(self._handle,
timeout_millis)
if result == _WAIT_TIMEOUT:
raise TimeoutExpired(self.args, timeout)
self.returncode = _subprocess.GetExitCodeProcess(self._handle)
return self.returncode
示例3: _internal_poll
# 需要導入模塊: import _subprocess [as 別名]
# 或者: from _subprocess import WaitForSingleObject [as 別名]
def _internal_poll(self, _deadstate=None,
_WaitForSingleObject=_subprocess.WaitForSingleObject,
_WAIT_OBJECT_0=_subprocess.WAIT_OBJECT_0,
_GetExitCodeProcess=_subprocess.GetExitCodeProcess):
"""Check if child process has terminated. Returns returncode
attribute.
This method is called by __del__, so it can only refer to objects
in its local scope.
"""
if self.returncode is None:
if _WaitForSingleObject(self._handle, 0) == _WAIT_OBJECT_0:
self.returncode = _GetExitCodeProcess(self._handle)
return self.returncode
示例4: wait
# 需要導入模塊: import _subprocess [as 別名]
# 或者: from _subprocess import WaitForSingleObject [as 別名]
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
示例5: wait
# 需要導入模塊: import _subprocess [as 別名]
# 或者: from _subprocess import WaitForSingleObject [as 別名]
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
示例6: wait
# 需要導入模塊: import _subprocess [as 別名]
# 或者: from _subprocess import WaitForSingleObject [as 別名]
def wait(handles, timeout=None):
"""Backward compat for python2.7
This function wait for either:
* one connection is ready for read,
* one process handle has exited or got killed,
* timeout is reached. Note that this function has a precision of 2
msec.
"""
if timeout is not None:
deadline = monotonic() + timeout
while True:
# We cannot use select as in windows it only support sockets
ready = []
for h in handles:
if type(h) in [int, long]:
if WaitForSingleObject(h, 0) == WAIT_OBJECT_0:
ready += [h]
elif h.poll(0):
ready.append(h)
if len(ready) > 0:
return ready
sleep(.001)
if timeout is not None and deadline - monotonic() <= 0:
return []