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命令获得返回值的问题的主要内容,如果未能解决你的问题,请参考以下文章