`
rdman
  • 浏览: 82150 次
  • 性别: Icon_minigender_1
  • 来自: 陕西
社区版块
存档分类
最新评论

Java执行Linux命令并返回命令结果

阅读更多

Java执行Linux命令并返回命令结果

Linux环境下C 2010-08-25 14:43:00 阅读183 评论0   字号: 订阅

Java 可以通过 Runtime 调用Linux命令,形式如下:

Runtime.getRuntime().exec(command)

但是这样执行时没有任何输出,因为调用 Runtime.exec 方法将产生一个本地的进程,并返回一个Process子类的实例(注意:Runtime.getRuntime().exec(command)返回的是一个Process类的实例)该实例可用于控制进程或取得进程的相关信息。

由于调用 Runtime.exec 方法所创建的子进程没有自己的终端或控制台,因此该子进程的标准IO(如stdin,stdou,stderr)都通过 Process.getOutputStream(),Process.getInputStream(), Process.getErrorStream() 方法重定向给它的父进程了。

用户需要用这些stream来向子进程输入数据或获取子进程的输出,下面的代码可以取到 linux 命令的执行结果:

try {
String[] cmd = new String[]{”/bin/sh”, “-c”, ” ls “};
Process ps = Runtime.getRuntime().exec(cmd);

BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream()));
StringBuffer sb = new StringBuffer();
String line;
while ((line = br.readLine()) != null) {
sb.append(line).append(”\n”);
}
String result = sb.toString();

System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}

分享到:
评论

相关推荐

    java通过代码登录远程linux服务器并执行linux命令源码以及jar包

    java通过代码登录远程linux服务器并执行linux命令源码以及jar包

    java执行linux命令

    java执行linux本地命令的类,并返回字符串。在CentOS 6.3上已经测试正常运行。

    Java调用Linux命令

    Java调用Linux命令 调用Runtime.exec方法将产生一个本地的进程,并返回一个Process子类的实例, (注意:Runtime.getRuntime().exec(command)返回的是一个Process类的实例), 该实例可用于控制进程或取得进程的...

    java调用shell命令实现实例

    基于sshConnect的linux服务器的shell命令调用,并获取命令返回结果的实例。亲测有效!

    JAVA操作linux服务器,本文用于启动shell脚本并返回数据,简单易懂,可随时修改

    JAVA操作linux服务器,本文用于启动shell脚本并返回数据,简单易懂,可随时修改,1.连接服务器。2.输入服务器地址。3.输入用户名和密码。4.输入要执行的命令。

    Java中通过jsch来连接远程服务器执行linux命令

    主要介绍了Java中通过jsch来连接远程服务器执行linux命令的相关资料,需要的朋友可以参考下

    java实现模拟SSH和telnet登陆(实现命令的发送和接受)

    NULL 博文链接:https://zrzdemon.iteye.com/blog/1499804

    使用runtime实现linux命令行或shell脚本多次调用

    使用runtime, 实现java客户端多次调用linux命令或者shell脚本,并返回对应结果或信息

    Linux服务器批处理远程命令执行工具

    纯java实现的ssh协议(jsch),支持同时连接多台linux主机,执行相同的命令。只需配置目标主机的ip地址、用户名和密码即可实现远程操作。服务器无需配置ssh对等协议或安装任何agent插件。并发远程主机主机连接,顺序...

    Android-Shell:在Android上执行Linux命令

    在android上执行Linux命令是一种高级方法,可用于访问手机中受限制的功能,例如,您无法直接从编程中获得这些功能; 录制屏幕,删除损坏的文件,获取系统信息,进程,硬件信息。 除非您拥有根设备,否则有些命令将不...

    java调用操作系统命令(远程,本地都有)

    java调用操作系统命令源码工具类,包含远程输入用户名和密码方式及本地调用,同时兼容处理了Windows及Linux命令和执行结果的返回。使用者可以通过工具类方法直接调用,传入操作系统的命令即可执行,方法返回操作结果...

    Java调用Shell脚本代码

    在Java程序中调用Unix/Linux主机上的Shell命令,并返回相应执行结果。

    fmj:FMJ (FFMpeg for Java)。通过Java调用FFMpeg命令的方式来对音视频进行处理(获取信息、截图等等)

    项目介绍FMJ (FFMpeg for Java)通过Java调用FFMpeg命令的方式来对音视频进行处理(获取信息、截图等等)。FFMpeg安装FFMpeg官网建议使用 ffmpeg-2.6.1 版本Linuxyum install ffmpegapt-get install ffmpegMacbrew ...

    ganymed-ssh2-build210.jar java远程访问linux服务器操作、上传下载文件

    * 命令执行成功后返回的结果值,如果命令执行失败,返回空字符串,不是null * @since V0.1 */ public String executeSuccess(String cmd){ String result=""; try { if(login()){ Session session= conn....

    JAVA上百实例源码以及开源项目源代码

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    JAVA上百实例源码以及开源项目

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    java开源包11

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

    java开源包6

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

    java开源包9

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

    java开源包101

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

Global site tag (gtag.js) - Google Analytics