Java执行Linux命令并返回命令结果
来源:互联网 发布:微信助力软件 编辑:程序博客网 时间:2024/06/03 23:41
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 -l" }; 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(); logger.info(result); } catch (Exception e) { logger.error("----error-----"); e.printStackTrace(); }
0 0
- Java执行Linux命令并返回命令结果
- Java执行Linux命令并返回命令结果
- Java执行Linux命令并返回命令结果
- Java执行Linux命令并返回命令结果
- Linux C 执行shell命令并获取返回结果
- java实现执行CMD命令,并返回输入结果
- Java执行CMD命令并等待返回结果
- Java执行cmd命令并接收返回结果
- java执行cmd命令并获取返回结果字符串
- C#执行CMD命令并返回结果
- android代码执行adb shell终端命令(linux命令)并返回执行结果
- java执行linux shell命令,并拿到返回值
- Java执行linux命令 获取执行结果
- Linux中用C语言执行shell命令并获取返回结果
- Linux C 程序执行 shell 命令并获取返回结果的方法
- 在VC下执行DOS命令并得到返回结果
- 在C#中执行dos命令并返回结果字符串
- ssh批量登录机器并返回命令的执行结果
- JAVA——IO流的基本认识
- [SCOI2005]骑士精神
- dyld: Library not loaded: @rpath/MySDK.framework/MySDK 错误解决
- 关于tcp_wrappers防火墙
- 不良资产处置(十):关于不良资产处置市场化的思考
- Java执行Linux命令并返回命令结果
- java正则表达式
- 树的遍历
- Android 开机时间慢问题debug
- 无线轮播
- HDU 4034 Graph
- go 语言精华学习贴
- 不可重现的bug如何处理
- 游戏开发入门02