gpt4 book ai didi

java - Ganymed-ssh - 当 execCommand 需要更多时间时如何设置超时关闭 session

转载 作者:太空宇宙 更新时间:2023-11-04 07:04:42 26 4
gpt4 key购买 nike

我正在使用 Ganymed-ssh 远程提取日志详细信息。下面是我的代码。有时stdout返回的数据很大,因此需要更多时间返回。如果标准输出在 1 分钟内没有返回,我想关闭 session 。如何设置 session 超时自动关闭标准输出花费超过 1 分钟?

Connection conn = new Connection(hostname);
conn.connect();
boolean isAuthenticated = conn.authenticateWithPassword(username, password);
if (isAuthenticated == false)
throw new IOException("Authentication failed.");
Session session = conn.openSession();
session.execCommand("grep traceid trace.log");
InputStream stdout = new StreamGobbler(session.getStdout());
BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
while (true)
{
String line = br.readLine();
if (line == null)
break;
System.out.println(line);
}
System.out.println("ExitCode: " + session.getExitStatus());
session.close();
conn.close();

最佳答案

您可以使用waitForCondition方法或waitUntilDataAvailable session 类的方法。两者都需要超时参数。

关于java - Ganymed-ssh - 当 execCommand 需要更多时间时如何设置超时关闭 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21595088/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com