Python 用于检查主机是否处于活动状态的脚本
我不久前写了这个剧本。脚本部分首先检查主机名(如Python 用于检查主机是否处于活动状态的脚本,python,network-programming,while-loop,Python,Network Programming,While Loop,我不久前写了这个剧本。脚本部分首先检查主机名(如sys.argv[1])是否在列表中(k)。然后向主机发送回显请求(即,ping),并在接下来的80秒内继续发送。如果没有回应。在此期间之后,它会宣布主机关闭 k = ['mserv', 'vserv', 'cpde', 'cpdg'] for j in k: if sys.argv[1] not in k: print "Host [%s] doesn't exist!!\n" % sys.argv[1]
sys.argv[1]
)是否在列表中(k
)。然后向主机发送回显请求(即,ping
),并在接下来的80秒内继续发送。如果没有回应。在此期间之后,它会宣布主机关闭
k = ['mserv', 'vserv', 'cpde', 'cpdg']
for j in k:
if sys.argv[1] not in k:
print "Host [%s] doesn't exist!!\n" % sys.argv[1]
sys.exit(1)
if sys.argv[1] == j:
(cS,cO) = commands.getstatusoutput('ping -c1 -t1 %s' % j)
i = 0
m = "Waiting for %s to wake up..... " % j
while True:
if cS == 0:
print "Host: %s is up and running........\n" % j
break
else:
(cS,cO) = commands.getstatusoutput('ping -c1 -t1 %s' % j)
sys.stdout.write('\r%s\b%d' % (m,i))
sys.stdout.flush()
sys.stdout.write('\r \b')
i += 1
if i == 80:
print "The host: %s is not running yet, try again!!\n" % j
sys.exit(0)
sys.exit(0)
这很有效,但是我有没有办法改进脚本/逻辑并缩短它?提前感谢您的建议。干杯 这可能是回答类似问题的更好地方。@egor83:谢谢!我不知道。很有趣,但是。。。不工作:回溯(最后一次调用):如果sys.argv[1]不在k中,则第4行的文件“alive.py”不在k中:name错误:在向脚本添加“import sys import commands”使其仍然工作后,未定义名称“sys”。。。不。有关于如何配置它的提示吗?什么是“k”?@Pitto:只有脚本的那部分根本不起作用。我将在这里为您复制并粘贴整个脚本。干杯