Fabric不会关闭ssh连接

时间:2016-10-24 08:53:23

标签: python ssh fabric paramiko

我正在使用fabric并尝试在远程计算机上执行某些命令。 我写了一个python客户端来完成这项工作。

@task
@serial
def execute_command(timeout, command):
    if timeout == -1:
        return run(command, shell=False, pty=False, warn_only=True)
    else:
        return run(command, shell=False, pty=False, warn_only=True, timeout=int(timeout))

它确实安排了这项工作,但问题是每当有一个工作时间超过30秒左右时,它就永远不会出现在execute_command中。超时也不起作用。

当我执行ss -t | less并检查套接字活动时,与该命令相关的ssh连接仍处于活动状态。它一直活跃,直到我杀了它。它永远不会自行死亡。

你能帮我解决这个问题吗?我希望它能够出来以及超时工作。

1 个答案:

答案 0 :(得分:0)

想出来。

当我在运行参数中禁用了psuedo终端选项时,我能够达到我想要的效果。