0

我有以下代码:

from pssh.clients import ParallelSSHClient
#-------------------------------------------------

hosts = [ IP1, IP2, ... IPn]
host_config = { dict containing userid & passwd for each host }

clients = ParallelSSHClient(hosts, host_config=host_config,
                           num_retries=1, timeout=3)

output = clients.run_command("ls", stop_on_errors=False, timeout=3)
print output

如果我的主机拥有所有有效的 IP,那么我会得到“输出”。但是,如果其中一个 IP 无效(不存在的主机),那么 run_command 将永远挂起。甚至尝试对 run_command 使用“use_pty=True”参数。

奇怪的是,如果我使用已弃用的方法pssh_client而不是客户端,如下所示:

from pssh.pssh_client import ParallelSSHClient

它按预期超时。新的导入方式引入了一个错误,或者有一些新的方法可以正确指定超时。我宁愿使用推荐的方式而不是弃用的方式。但推荐的方式对我不起作用。有人知道我在这里做错了吗?

4

1 回答 1

0

这已被确认为 ParallelSSH 的 github 站点上的错误。因此,此问题已关闭。问题列于:

https://github.com/ParallelSSH/parallel-ssh/issues/133

于 2018-08-31T13:35:17.593 回答