java运行linux命令获得返回值的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java运行linux命令获得返回值的问题相关的知识,希望对你有一定的参考价值。

Runtime.getRuntime().exec(cmd) 这cmd是一个带管道的命名 我看你7月的时候帮别人解答过,但是没看明白 ,我使用的命令是 ps -ef |grep -c 进程名 获取不到返回值 请帮忙解答一下

参考技术A Process process=Runtime. Runtime.getRuntime().exec("ps -ef | grep -v 进程名");然后你要使用线程不停地读取process.getErrorStream()和process.getInputStream(),注意一定要使用线程读,不能等待process执行完成后再读,因为缓存区大小固定,process往缓冲区里写时若缓冲区满了则process会等待缓冲区释放本回答被提问者采纳 参考技术B Process myProc = null;
try
myProc = Runtime.getRuntime().exec(cmd);
myProc.waitFor();
BufferedReader in = new BufferedReader(new InputStreamReader(myProc.getInputStream()));
String currentLine = "";
while((currentLine = in.readLine()) != null)
if(currentLine.trim().length()>0)
list.add(currentLine.trim());


in.close();
catch (IOException e)
// e.printStackTrace();
catch (Exception e)
// e.printStackTrace();

每天三分钟搞定linux shell脚本26 函数返回值

参考技术A 函数可以产生返回值,有3个方法。
1)默认情况下是 最后一条语句对应的退出状态码
2) return 一个整数值
3)使用 echo语句 指定输出
针对 方法1 建立如下脚本:

运行后输出结果为:

针对 方法2 建立脚本:

运行后结果为:

针对 方法3 建立脚本

运行后输出结果为:

方法3使用echo语句来返回结果,而且 并没有把这个输出到stdout 中。

函数返回数组与参数传递数组一样,使用echo语句。举例如下:

运行后输出结果为:

以上是关于java运行linux命令获得返回值的问题的主要内容,如果未能解决你的问题,请参考以下文章

Java代码调用cmd中的ping命令.如何获得ping返回的信息?

linux shell中获得进程返回值

Java或C#调用命令行批处理命令如何获得返回值

Linu之linux系统基础优化和基本命令

Linux14 进程管理之进程相关命令

linux shell中获得进程返回值