【发布时间】:2019-08-19 14:05:09
【问题描述】:
Channel channel=session.openChannel("shell");
channel.setInputStream(System.in);
channel.setOutputStream(System.out);
channel.connect();
while (channel.getExitStatus() == -1){
try{Thread.sleep(1000);}catch(Exception e){System.out.println(e);}
}
channel.disconnect();
在上面的代码中,我们添加行 Thread.sleep(1000); 给系统足够的时间来执行命令。但是,当我将时间间隔从 1000 ms 更改为 200 ms 时,该命令不会执行。
同样在一些速度较慢的服务器中,该命令也可能在 1000 毫秒 的指定时间间隔内无法执行。是否有任何其他动态方法可以在下一个开始执行之前等待命令完全执行,而不是对值进行硬编码,在自动化时尤其需要?
【问题讨论】: