D 的个人博客

但行好事莫问前程

  menu
417 文章
3446695 浏览
3 当前访客
ღゝ◡╹)ノ❤️

Java 执行命令

Java 调用命令行有两种方式,ProcessBuilder 或 Runtime。

在使用 Runtime 时,有两点需要注意:

  1. 需要开启线程读取错误流,否则可能会造成进程阻塞
  2. 执行带管道或重定向的命令时需要拆成多个命令执行
    Execs.exec(new String[]{"/bin/sh", "-c", "cat /proc/cpuinfo | grep 'model name' | awk '{ print $NF }'"});

细节请参考这个实现