【发布时间】:2021-01-06 01:56:13
【问题描述】:
我有一个服务器,我使用 Python 发送 4 个 ICMP ping。我的代码如下所示:
command = ['ping', '-c', '4', '192.168.1.8']
proc = subprocess.run(command)
if proc.returncode == 0:
print("Alive")
else:
print("Dead")
在此代码中,每次发送 4 个 ping 请求,只有在收到全部 4 个回复后,才会检查返回代码。但是,我要进行的修改是,只要任何一个 ping 请求成功,我就想立即将其声明为“活着”并继续前进。如果所有 4 个都失败,那么我们将服务器标记为“死亡”。我要进行此修改的原因是我正在 ping 很多服务器并等待来自每个服务器的 4 个回复,当第一个成功回复意味着它的活动使脚本运行更长时间时。我相信这个修改会让脚本更快地完成。我怎样才能做到这一点?
【问题讨论】:
标签: python subprocess ping