本文整理汇总了Python中resource.Popen.terminate_geterr方法的典型用法代码示例。如果您正苦于以下问题:Python Popen.terminate_geterr方法的具体用法?Python Popen.terminate_geterr怎么用?Python Popen.terminate_geterr使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类resource.Popen
的用法示例。
在下文中一共展示了Popen.terminate_geterr方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_slave_bricks_status
# 需要导入模块: from resource import Popen [as 别名]
# 或者: from resource.Popen import terminate_geterr [as 别名]
def get_slave_bricks_status(host, vol):
po = Popen(['gluster', '--xml', '--remote-host=' + host,
'volume', 'status', vol, "detail"],
stdout=PIPE, stderr=PIPE)
vix = po.stdout.read()
po.wait()
po.terminate_geterr(fail_on_err=False)
if po.returncode != 0:
logging.info("Volume status command failed, unable to get "
"list of up nodes of %s, returning empty list: %s" %
(vol, po.returncode))
return []
vi = XET.fromstring(vix)
if vi.find('opRet').text != '0':
logging.info("Unable to get list of up nodes of %s, "
"returning empty list: %s" %
(vol, vi.find('opErrstr').text))
return []
up_hosts = set()
try:
for el in vi.findall('volStatus/volumes/volume/node'):
if el.find('status').text == '1':
up_hosts.add(el.find('hostname').text)
except (ParseError, AttributeError, ValueError) as e:
logging.info("Parsing failed to get list of up nodes of %s, "
"returning empty list: %s" % (vol, e))
return list(up_hosts)
示例2: monitor
# 需要导入模块: from resource import Popen [as 别名]
# 或者: from resource.Popen import terminate_geterr [as 别名]
def monitor(*resources):
# Mount geo-rep management volume
if gconf.meta_volume:
mgmt_mnt = os.path.join(gconf.working_dir, gconf.meta_volume)
if not os.path.exists(mgmt_mnt):
try:
os.makedirs(mgmt_mnt)
except OSError:
ex = sys.exc_info()[1]
if ex.errno == EEXIST:
pass
else:
raise
if not os.path.ismount(mgmt_mnt):
po = Popen(["mount", "-t", "glusterfs", "localhost:%s"
% gconf.meta_volume, mgmt_mnt], stdout=PIPE,
stderr=PIPE)
po.wait()
po.terminate_geterr()
# Check if gsyncd restarted in pause state. If
# yes, send SIGSTOP to negative of monitor pid
# to go back to pause state.
if gconf.pause_on_start:
os.kill(-os.getpid(), signal.SIGSTOP)
"""oh yeah, actually Monitor is used as singleton, too"""
return Monitor().multiplex(*distribute(*resources))
示例3: __init__
# 需要导入模块: from resource import Popen [as 别名]
# 或者: from resource.Popen import terminate_geterr [as 别名]
def __init__(self, vol, host='localhost', prelude=[]):
po = Popen(prelude + ['gluster', '--xml', '--remote-host=' + host, 'volume', 'info', vol],
stdout=PIPE, stderr=PIPE)
vix = po.stdout.read()
po.wait()
po.terminate_geterr()
vi = XET.fromstring(vix)
if vi.find('opRet').text != '0':
if prelude:
via = '(via %s) ' % prelude.join(' ')
else:
via = ' '
raise GsyncdError('getting volume info of %s%s failed with errorcode %s',
(vol, via, vi.find('opErrno').text))
self.tree = vi
self.volume = vol
self.host = host
示例4: __init__
# 需要导入模块: from resource import Popen [as 别名]
# 或者: from resource.Popen import terminate_geterr [as 别名]
def __init__(self, vol, host="localhost", prelude=[]):
po = Popen(
prelude + ["gluster", "--xml", "--remote-host=" + host, "volume", "info", vol], stdout=PIPE, stderr=PIPE
)
vix = po.stdout.read()
po.wait()
po.terminate_geterr()
vi = XET.fromstring(vix)
if vi.find("opRet").text != "0":
if prelude:
via = "(via %s) " % prelude.join(" ")
else:
via = " "
raise GsyncdError(
"getting volume info of %s%s " "failed with errorcode %s", (vol, via, vi.find("opErrno").text)
)
self.tree = vi
self.volume = vol
self.host = host