有没有办法使用Popen它可以检查机器是否挂起/没有响应30秒然后终止我发送给它的工作?
com = "ssh machine job i'm sending it"
p = Popen(com, shell=True, stdout=PIPE, stderr=PIPE, universal_newlines=True)
output, stderr = p.communicate()
所以现在我想要一个try和except块,如果通过从机器获取信息成功运行某些代码,或者如果机器在30秒内没有响应然后终止我发送的作业则抛出异常所以它不会弄乱机器。
Popen有这样的方法吗?
编辑:
发现有一种方法可以使用ssh -o ConnectTimeout=30 hostname
测试机器是否已关机。这使我可以在运行Popen步骤之前查明主机是否已关闭。