D 的个人博客

开源程序员,自由职业者

小而美的 Java 博客系统 Solo
Golang 在线 IDE Wide
黑客与画家的社区 Sym
  menu
401 文章
1,868 评论
3399498 浏览
6 当前访客
ღゝ◡╹)ノ❤️

Java 执行命令

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

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

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

细节请参考这个实现

评论