问题描述
怎么用java的方式,执行局域网内某台机器上的.sh或.exe呢?并且获得返回值?除了:Runtime.getRuntime().exec这种方式,还有什么其他的访问方式吗?
解决方案
本帖最后由 tmily 于 2015-02-26 15:02:57 编辑
解决方案二:
1.开源的sshjar。2.或者自己写agent利用socket通信
解决方案三:
能不能给我说的再详细些,你说的这些,我都没有接触过。谢谢。
解决方案四:
Runtime.getRuntime().exec这个方法不好么?
解决方案五:
这个可以用。就是想了解下,看有没有其他的。
解决方案六:
可以试试ApacheCommonsexeclibrarypackagetestShellScript;importjava.io.IOException;importorg.apache.commons.exec.CommandLine;importorg.apache.commons.exec.DefaultExecutor;importorg.apache.commons.exec.ExecuteException;publicclassTestScript{intiExitValue;StringsCommandString;publicvoidrunScript(Stringcommand){sCommandString=command;CommandLineoCmdLine=CommandLine.parse(sCommandString);DefaultExecutoroDefaultExecutor=newDefaultExecutor();oDefaultExecutor.setExitValue(0);try{iExitValue=oDefaultExecutor.execute(oCmdLine);}catch(ExecuteExceptione){//TODOAuto-generatedcatchblockSystem.err.println("Executionfailed.");e.printStackTrace();}catch(IOExceptione){//TODOAuto-generatedcatchblockSystem.err.println("permissiondenied.");e.printStackTrace();}}publicstaticvoidmain(Stringargs[]){TestScripttestScript=newTestScript();testScript.runScript("sh/root/Desktop/testScript.sh");}}
http://stackoverflow.com/questions/525212/how-to-run-unix-shell-script-from-java-code