如何在java程序中调用linux命令或者shell脚本 Process process=null;try {process=Runtime.getRuntime().exec(\"你要执行的linux命令\");} catch(IOException e){System.out.println(\"执行linux命令异常\");}
如何在java程序中调用linux命令或者shell脚本java程序是提供了这个一方法,Process pro=Runtime.getRuntime().exec(cmds);但是一般来说,尽量去用一些其他脚本(lua,shell,python)去执行一系列linux命令比较灵活,而且耗费资源少。但是Runtime.getRuntime().exec()这种调用方式在java虚拟机中是十分消耗资源的,即使命令可以很快的执行完毕,频繁的调用时创建进程消耗十分可观。java虚拟机执行这个命令的过程是,首先克隆一条和当前虚拟机拥有一样环境变量的进程,再用这个新的进程执行外部命令,最后退出这个进程。频繁的创建对CPU和内存的消耗很大。
如何在java程序中调用linux命令或者shell脚本 1234567891011121314151617181920212223242526272829Testpublic void test6(){BufferedReader br=null;Runtime rt=Runtime.getRuntime();String cmdstr=\"cmd.exe/c dir;try {Process process=rt.exec(cmdstr);输入执行结果br=new BufferedReader(new InputStreamReader(process.getInputStream()));String line=null;while((line=br.readLine())。null){System.out.println(line);}if(process。null){process.destroy();process=null;}} catch(IOException e){e.printStackTrace();}finally{if(br。null){try {br.close();} catch(Exception e){e.printStackTrace();}}}}