我正在使用 Ganymed SSH 从 Java 应用程序在我的 Linux 机器中执行命令。我必须一条一条地执行 100 条命令。
为此,在我的 for 循环代码中,我为每次迭代打开和关闭 session 。但它在 10 或 15 次迭代后抛出一些异常,提示无法建立连接。
我相信这是因为 session 创建不频繁。
请检查下面的代码并指导我一些好的解决方案来实现这一点。
for(字符串用户:用户列表)
{
session = connection.openSession();
session.execCommand([ -f/home/"+user+"/.file_name] && echo\"Found\"|| echo\"Not Found\"");
session.close();
}
感谢和问候,
古普塔卡塔姆
请您参考如下方法:
如果你尝试这样做,你最终会遇到你所处的情况。SSH 有很多配置参数,但你需要在终端机器上指定。我不确定您是否可以访问终端机器,但如果您无法访问目标机器,请考虑在断开连接并重新连接后在代码中添加一些延迟。尽管我使用的是不同的库,但我也遇到了同样的问题。让我知道这件事是否有效,然后我们可以从那里继续推进。
