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本地命令的类,并返回字符串。在CentOS 6.3上已经测试正常运行。
Java调用Linux命令 调用Runtime.exec方法将产生一个本地的进程,并返回一个Process子类的实例, (注意:Runtime.getRuntime().exec(command)返回的是一个Process类的实例), 该实例可用于控制进程或取得进程的...
基于sshConnect的linux服务器的shell命令调用,并获取命令返回结果的实例。亲测有效!
JAVA操作linux服务器,本文用于启动shell脚本并返回数据,简单易懂,可随时修改,1.连接服务器。2.输入服务器地址。3.输入用户名和密码。4.输入要执行的命令。
主要介绍了Java中通过jsch来连接远程服务器执行linux命令的相关资料,需要的朋友可以参考下
NULL 博文链接:https://zrzdemon.iteye.com/blog/1499804
使用runtime, 实现java客户端多次调用linux命令或者shell脚本,并返回对应结果或信息
纯java实现的ssh协议(jsch),支持同时连接多台linux主机,执行相同的命令。只需配置目标主机的ip地址、用户名和密码即可实现远程操作。服务器无需配置ssh对等协议或安装任何agent插件。并发远程主机主机连接,顺序...
在android上执行Linux命令是一种高级方法,可用于访问手机中受限制的功能,例如,您无法直接从编程中获得这些功能; 录制屏幕,删除损坏的文件,获取系统信息,进程,硬件信息。 除非您拥有根设备,否则有些命令将不...
java调用操作系统命令源码工具类,包含远程输入用户名和密码方式及本地调用,同时兼容处理了Windows及Linux命令和执行结果的返回。使用者可以通过工具类方法直接调用,传入操作系统的命令即可执行,方法返回操作结果...
在Java程序中调用Unix/Linux主机上的Shell命令,并返回相应执行结果。
项目介绍FMJ (FFMpeg for Java)通过Java调用FFMpeg命令的方式来对音视频进行处理(获取信息、截图等等)。FFMpeg安装FFMpeg官网建议使用 ffmpeg-2.6.1 版本Linuxyum install ffmpegapt-get install ffmpegMacbrew ...
* 命令执行成功后返回的结果值,如果命令执行失败,返回空字符串,不是null * @since V0.1 */ public String executeSuccess(String cmd){ String result=""; try { if(login()){ Session session= conn....
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...