您的位置:首页 > 运维架构 > Linux

Java调用Linux命令

2011-03-09 17:18 351 查看
Java可以直接调用Linux命令,形式如下:

Runtime.getRuntime().exec(command)

举例:运行ls,top命令可以这样:

Runtime.getRuntime().exec("ls");

但是这样执行时没有任何输出
,原因


调用Runtime.exec方法将产生一个本地的进程,并返回一个Process子类的实例,

(注意:Runtime.getRuntime().exec(command)返回的是一个Process类的实例
),


实例可用于控制进程或取得进程的相关信息.
由于调用Runtime.exec方法所创建的子进程没有自己的终端或控制台,因此该子进程的标准IO(如stdin,stdou,stderr)都通过
Process.getOutputStream(),Process.getInputStream(),
Process.getErrorStream()方法重定向给它的父进程了.用户需要用这些stream来向子进程输入数据或获取子进程的输出.
可以采用如下方法:

try

{

Process process = Runtime.getRuntime().exec ("ls");

InputStreamReader ir=newInputStreamReader(process.getInputStream());

LineNumberReader input = new LineNumberReader (ir);

String line;

while ((line = input.readLine ()) != null){

System.out.println(line)

}

catch (java.io.IOException e){

System.err.println ("IOException " + e.getMessage());

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: