我試圖從我的Java應用程序(在我的Windows 7站點)使用ssh api Jsch在unix服務器中執行腳本shell。無法使用Jsch執行.sh腳本
我使用的腳本shell「start_lm」是一個C二進制文件。
這是我正在使用的代碼(它從Jsch網站exemples的)
try{
JSch jsch=new JSch();
Session session=jsch.getSession(user, host, 22);
UserInfo ui=new MyUserInfo();
session.setUserInfo(ui);
session.connect();
String command="user/psi/start_lm";
Channel channel=session.openChannel("exec");
((ChannelExec)channel).setCommand(command);
channel.setInputStream(null);
((ChannelExec)channel).setErrStream(System.err);
InputStream in=channel.getInputStream();
channel.connect();
while(true){
if(channel.isClosed()){
System.out.println("exit-status: "+channel.getExitStatus());
break;
}
try{Thread.sleep(1000);}catch(Exception ee){}
}
channel.disconnect();
session.disconnect();
}
我得到的錯誤是
退出狀態:-1這是什麼意思
感謝幫助。
如何將您的代碼降至相關示例?有很多絨毛,我們不需要在那裏看到。 –
您可以使用命令行'ssh user @ host user/psi/start_lm'執行相同的命令嗎? –