【问题标题】:Continuous Execution of commands in Linux using Ganymed SSH使用 Ganymed SSH 在 Linux 中连续执行命令
【发布时间】:2013-11-21 16:14:09
【问题描述】:



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

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

我相信这是因为会话不经常创建。

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

for(字符串用户:用户列表)
{
会话 = 连接.openSession();
session.execCommand("[ -f /home/"+user+"/.file_name] && echo \"找到\" || echo \"未找到\"");
session.close();
}

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

【问题讨论】:

    标签: linux ssh ganymede


    【解决方案1】:

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

    【讨论】:

    • 我厌倦了使用 Thread.sleep(500);它在我的本地机器上为我工作,但我不确定它是否可以在客户端系统中工作。这就是我想要框架(Ganymed)方面的解决方案的原因。
    • 你为什么说我不会在客户的系统上工作?如果它在您的本地盒子上工作,它也可以在那里工作。
    • 好的,希望一切顺利,谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-08
    • 1970-01-01
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    • 2017-05-27
    相关资源
    最近更新 更多