我正在使用paramiko用python2.7编写一个小的自动化软件。在执行过程中,远程机器(ssh服务器)可能会死机,我的paramiko客户机无法识别它并挂起recv_exit_status()方法。如果我为通道或传输设置了超时,它什么也不会做。传输.set_keepalive()也帮不上忙。在
channel = transport.open_session()
channel.exec_command(cmd)
exit_code = channel.recv_exit_status()
我认为另一种方法也可能是好的:
^{pr2}$但是is_active()始终返回True,它从不更改为False,即使在半分钟后。。。我的软件是高度线程化的,因此如果发生这种情况,线程将永远挂在阻止方法recv_exit_status()上并变成僵尸,我不能允许这样(主要是从专业角度来看)。另外,我知道活动轮询通常是糟糕的编程技术,但我还是尝试过。。。谢谢你们的帮助
目前没有回答
相关问题 更多 >
编程相关推荐