ZKX's LAB

如何在java程序中调用linux命令或者shell脚本 java 调用shell脚本 多条命令

2021-04-27知识4

如何在java程序中调用linux命令或者shell脚本 在java程序中如何调用linux的命令?如何调用shell脚本呢?这里不得不提到java的process类了。process这个类是一个抽象类,封装了一个进程(你在调用linux的命令或者shell脚本就是为了执行一个在linux下执行的程序,所以应该使用process类)。process类提供了执行从进程输入,执行输出到进程,等待进程完成,检查进程的推出状态,以及shut down掉进程。至于详细的process类的介绍放在以后介绍。另外还要注意一个类:Runtime类,Runtime类是一个与JVM运行时环境有关的类,这个类是Singleton的。这里用到的Runtime.getRuntime()方法是取得当前JVM的运行环境,也是java中唯一可以得到运行环境的方法。(另外,Runtime的大部分方法都是实例方法,也就是说每次运行调用的时候都需要调用到getRuntime方法)下面说说Runtime的exec()方法,这里要注意的有一点,就是public Process exec(String[]cmdArray,String[]envp);这个方法中cmdArray是一个执行的命令和参数的字符串数组,数组的第一个元素是要执行的命令往后依次都是命令的参数,envp感觉应该和C中的execve中的环境变量是一样的,envp中使用的是name=value的方式。下面说一下,如何使用process来调用shell脚本例如,。

如何在java程序中调用linux命令或者shell脚本 publicstaticStringexecShell(StringshellString){System.out.println(\"将要执行的shell语句是:\"+shellString);StringisOK=\"ok;try{Processprocess=Runtime.getRuntime().exec(shellString);BufferedReaderinput=newBufferedReader(newInputStreamReader(process.getInputStream()));Stringline=\";while((line=input.readLine())。null){System.out.println(line);}input.close();intexitValue=process.waitFor();if(0。exitValue){isOK=\"no;System.err.println(\"callshellfailed.errorcodeis:\"+exitValue);}}catch(Throwablee){e.printStackTrace();}returnisOK;}这是我在java中用过的一个调用shell的函数,你可以试试;执行成7a686964616fe59b9ee7ad9431333363393630功返回ok,执行失败返回no

如何在java程序中调用linux命令或者shell脚本 Process process=null;try {process=Runtime.getRuntime().exec(\"你要执行的linux命令\");} catch(IOException e){System.out.println(\"执行linux命令异常\");}

#java 调用动态链接文件#java 调用shell脚本 多条命令

随机阅读

qrcode
访问手机版