Fabric 不关闭 ssh 连接

Fabric does not close the ssh connection

我正在使用结构并尝试在远程机器上执行一些命令。 我写了一个 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 并检查套接字 activity 时,与该命令相关的 ssh 连接仍然处于活动状态。在我杀死它之前它一直处于活动状态。它永远不会自行消亡。

有人能帮我解决这个问题吗?我希望它出来,也希望超时工作。

想通了。

当我在 运行 的参数中禁用伪终端选项时,我能够实现我想要的。