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 阅读 135 次 更新于 2025-09-10 09:32:06 我来答关注问题0
  •  翡希信息咨询 java调用linux命令行

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

  •  翡希信息咨询 Java怎么远程读取Linux的cpu使用率

    使用SSH执行命令:方法:通过Java的SSH库连接到Linux服务器,并执行如top、mpstat或读取/proc/stat等命令来获取CPU使用率。优点:直接、准确,能够获取实时的CPU使用率信息。缺点:需要配置SSH访问,且可能存在性能开销。通过REST API获取:方法:在Linux服务器上部署一个RESTful服务,该服务定期读取CPU使用率...

  • 1、直接调用:使用java中lang包下面的Runtime类和Process类,其中Runtime类中的Runtime.getRuntime().exec(linux command)方法可以直接执行linux命令,而Process类可以接收Runtime.getRuntime().exec()类的返回值,并提供了waitFor()方法和destroy()方法,waitFor()方法的作用在于等待此process执行完成后再...

  • Process process=Runtime. Runtime.getRuntime().exec("ps -ef | grep -v 进程名");然后你要使用线程不停地读取process.getErrorStream()和process.getInputStream(),注意一定要使用线程读,不能等待process执行完成后再读,因为缓存区大小固定,process往缓冲区里写时若缓冲区满了则process会等待缓冲...

  •  唔哩头条 我想让一个Java程序在Linux下以后台进程的方式运行,环境是ubuntu,请问用哪个命令?

    1. 在Linux环境下,若要让Java程序作为后台进程运行,首先确保程序设计中包含了相应的守护进程机制,例如使用`java -jar your-application.jar &`命令启动程序。2. 一旦程序运行,可以通过按下`Ctrl+Z`将程序置于后台。3. 使用`jobs`命令查看当前终端运行的进程列表,找到你的Java程序对应的行。4. ...

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

Java相关话题

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