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

Process process=Runtime. Runtime.getRuntime().exec("ps -ef | grep -v 进程名");然后你要使用线程不停地读取process.getErrorStream()和process.getInputStream(),注意一定要使用线程读,不能等待process执行完成后再读,因为缓存区大小固定,process往缓冲区里写时若缓冲区满了则process会等待缓冲...
java运行linux命令获得返回值的问题
Process process=Runtime. Runtime.getRuntime().exec("ps -ef | grep -v 进程名");然后你要使用线程不停地读取process.getErrorStream()和process.getInputStream(),注意一定要使用线程读,不能等待process执行完成后再读,因为缓存区大小固定,process往缓冲区里写时若缓冲区满了则process会等待缓冲区释放2014-01-21
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();
}2014-01-24
就像 windows下使用 cmd /c 一样, Linux 下使用 sh -c
String[] cmd = {"/bin/sh","-c","ls /etc | grep release"};Process p = Runtime.getRuntime().exec(cmd);在 Stack overflow看到的,现在没有使用Linux,没法测试。
2014-01-21
mengvlog 阅读 172 次 更新于 2025-10-29 01:35:18 我来答关注问题0
  • Process process=Runtime. Runtime.getRuntime().exec("ps -ef | grep -v 进程名");然后你要使用线程不停地读取process.getErrorStream()和process.getInputStream(),注意一定要使用线程读,不能等待process执行完成后再读,因为缓存区大小固定,process往缓冲区里写时若缓冲区满了则process会等待缓冲...

  •  翡希信息咨询 java调用linux命令行

    直接调用Linux命令:使用java.lang包下的Runtime类和Process类。通过Runtime.getRuntime.exec方法直接执行Linux命令。Process类可以接收Runtime.getRuntime.exec方法的返回值,并提供waitFor方法等待进程执行完成,以及destroy方法销毁进程。调用Shell脚本:首先将需要执行的Linux命令写入一个Shell脚本中。在Java代...

  • j88r 如何在java程序中调用linux命令或者shell脚本

    这里用到的Runtime.getRuntime()方法是取得当前JVM的运行环境,也是java中唯一可以得到运行环境的方法。(另外,Runtime的大部分方法都是实例方法,也就是说每次运行调用的时候都需要调用到getRuntime方法)下面说说Runtime的exec()方法,这里要注意的有一点,就是public Process exec(String [] cmdArray,...

  •  深空见闻 linux部署java项目常用命令

    nohup java -jar project.jar > app.log 2>&1 &:后台运行JAR包,日志输出到app.log。ps -ef | grep java:查看Java进程。kill -9 进程ID:强制终止指定进程。日志与监控tail -f app.log:实时查看日志文件。cat app.log | grep "error":搜索日志中的关键词。jps:快速查看Java...

  • java程序是提供了这个一方法, Process pro = Runtime.getRuntime().exec(cmds); 但是一般来说,尽量去用一些其他脚本(lua,shell,python)去执行一系列linux命令比较灵活, 而且耗费资源少。但是Runtime.getRuntime().exec()这种调用方式在java虚拟机中是十分消耗资源的,即使命令可以很快的执行完毕...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部