java调用shell命令并获取执行结果的示例
使用到Process和Runtime两个类,返回值通过Process类的getInputStream()方法获取
packageark; importjava.io.BufferedReader; importjava.io.IOException; importjava.io.InputStreamReader; importjava.util.ArrayList; importjava.util.List; publicclassReadCmdLine{ publicstaticvoidmain(Stringargs[]){ Processprocess=null; ListprocessList=newArrayList (); try{ process=Runtime.getRuntime().exec("ps-aux"); BufferedReaderinput=newBufferedReader(newInputStreamReader(process.getInputStream())); Stringline=""; while((line=input.readLine())!=null){ processList.add(line); } input.close(); }catch(IOExceptione){ e.printStackTrace(); } for(Stringline:processList){ System.out.println(line); } } }
调用shell脚本,判断是否正常执行,如果正常结束,Process的waitFor()方法返回0
publicstaticvoidcallShell(StringshellString){ try{ Processprocess=Runtime.getRuntime().exec(shellString); intexitValue=process.waitFor(); if(0!=exitValue){ log.error("callshellfailed.errorcodeis:"+exitValue); } }catch(Throwablee){ log.error("callshellfailed."+e); } }
以上这篇java调用shell命令并获取执行结果的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。