本文整理匯總了Python中solaris_install.Popen.kill方法的典型用法代碼示例。如果您正苦於以下問題:Python Popen.kill方法的具體用法?Python Popen.kill怎麽用?Python Popen.kill使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類solaris_install.Popen
的用法示例。
在下文中一共展示了Popen.kill方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: test_logging_no_hang
# 需要導入模塊: from solaris_install import Popen [as 別名]
# 或者: from solaris_install.Popen import kill [as 別名]
def test_logging_no_hang(self):
'''Try to ensure Popen.check_call doesn't hang when trying to do
logging'''
# To ensure the logger keyword arg is implemented in a way that
# doesn't cause hangs, and since the use of logger causes blocking
# behavior, spawn a non-blocking subprocess that spawns a blocking
# subprocess. If the non-blocking subprocess doesn't complete
# in a reasonable amount of time, kill both and fail
cmd = [sys.executable, "-c",
"from solaris_install import Popen; import logging; "
"Popen.check_call(['/usr/bin/pkg', 'foo'], "
"logger=logging.getLogger())"]
popen = Popen(cmd, stdout=Popen.DEVNULL, stderr=Popen.DEVNULL)
for wait_count in xrange(15):
# If it's not done nearly instantly, something is wrong.
# However, give the benefit of the doubt by waiting up to
# 5 seconds for completion
if popen.poll() is not None:
break
else:
time.sleep(0.5)
else:
popen.kill()
self.fail("subprocess hung while attempting logging")
示例2: test_devnull
# 需要導入模塊: from solaris_install import Popen [as 別名]
# 或者: from solaris_install.Popen import kill [as 別名]
def test_devnull(self):
'''Test using Popen.DEVNULL for stdin'''
popen = Popen(["/usr/bin/cat"], stdin=Popen.DEVNULL, stdout=Popen.PIPE)
# Use PIPE for stdout as, for a failure case, the subprocess call
# could hang indefinitely, so we can't block on it
for wait_count in xrange(10):
# If it's not done nearly instantly, something is wrong.
# However, give the benefit of the doubt by waiting up to
# 5 seconds for completion
if popen.poll() is not None:
break
else:
time.sleep(0.5)
else:
popen.kill()
self.fail("stdin=Popen.DEVNULL did not work")
stdout = popen.communicate()[0]
self.assertEqual("", stdout)