0



我正在使用 Ganymed SSH 从 Java 应用程序在我的 Linux 机器中执行命令。我必须一个一个地执行 100 个命令。

为此,在 for 循环下的代码中,我为每次迭代打开和关闭会话。但它在 10 或 15 次迭代后抛出一些异常,说无法建立连接。

我相信这种情况正在发生,因为会话不经常创建。

请检查下面的代码并指导我一些好的解决方案来实现这一点。

for(String user : usersList)
{
session = connection.openSession();
session.execCommand("[ -f /home/"+user+"/.file_name] && echo \"找到\" || echo \"未找到\"");
session.close();
}

谢谢和问候,
古普塔·卡塔卡姆

4

1 回答 1

1

如果您尝试这样做,您最终会遇到您所处的情况。SSH 有许多配置参数,但您需要在终端机器中指定。我不确定您是否可以访问终端机器,但如果您无法访问目标机器,请考虑在断开连接并重新连接后对您的代码添加一些延迟。尽管我使用的是不同的库,但我也面临同样的问题。让我知道这件事是否有效,然后我们可以从那里继续推进。

于 2013-11-21T08:14:09.483 回答