Java 尝试运行shell脚本时jsch出现间歇性问题

Java 尝试运行shell脚本时jsch出现间歇性问题,java,jsch,Java,Jsch,我正在尝试执行一个shell脚本(它位于不同的unix服务器中)。现在我看到,有时它无法执行该脚本。由于该脚本需要很长时间才能执行,因此我无法读取/等待输出。只是想确保脚本每次都运行 JSch jsch = new JSch(); String cmd="cd /blackduck/tfs/tfsconnector; ./runTFSConnector_web ; session = jsch.getSession("UserID", hostIP, 22); session.setUserIn

我正在尝试执行一个shell脚本(它位于不同的unix服务器中)。现在我看到,有时它无法执行该脚本。由于该脚本需要很长时间才能执行,因此我无法读取/等待输出。只是想确保脚本每次都运行

JSch jsch = new JSch();
String cmd="cd /blackduck/tfs/tfsconnector; ./runTFSConnector_web ;
session = jsch.getSession("UserID", hostIP, 22);
session.setUserInfo(new SSHUserInfo("Password"));
session.connect();

channel = session.openChannel("exec");
((ChannelExec)channel).setCommand(cmd);

channel.connect();


while((!channel.isClosed()){

     Thread.sleep(3000);
}
我添加了while循环,只是因为通道的b'z要关闭


请给出一些解决方案。任何建议都是非常值得赞赏的

您说“有时它无法执行该脚本”。在这种情况下会发生什么?你怎么知道的?你收到错误消息了吗?他们说了什么?@Kenster根本没有抛出任何错误消息。但是在我的unix服务器中,我可以看到脚本没有执行。是否有任何方法可以确认脚本已成功运行,或者在脚本失败时重新尝试。@Kenster,有时我也会看到该频道。getExitStatus()!=0 . 表示通道未正确关闭。