zoukankan      html  css  js  c++  java
  • java 调用linux系统命令

    Java 可以通过 Runtime 调用Linux命令,形式如下:

    1. Runtime.getRuntime().exec(command)

      但是这样执行时没有任何输出,因为调用 Runtime.exec 方法将产生一个本地的进程,并返回一个Process子类的实例(注意:Runtime.getRuntime().exec(command)返回的是一个Process类的实例)该实例可用于控制进程或取得进程的相关信息。

    2. 由于调用 Runtime.exec 方法所创建的子进程没有自己的终端或控制台,因此该子进程的标准IO(如stdin,stdou,stderr)都通过 Process.getOutputStream(),Process.getInputStream(), Process.getErrorStream() 方法重定向给它的父进程了。

    3. 用户需要用这些stream来向子进程输入数据或获取子进程的输出,下面的代码可以取到 linux 命令的执行结果:

      try {

      String[] cmd = new String[]{”/bin/sh”, “-c”, ” ls “};

      Process ps = Runtime.getRuntime().exec(cmd);

      BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream()));

      StringBuffer sb = new StringBuffer();

      String line;

      while ((line = br.readLine()) != null) {

      sb.append(line).append(” ”);

      }

      String result = sb.toString();

      System.out.println(result);

      } catch (Exception e) {

      e.printStackTrace();

      }

  • 相关阅读:
    RabbitMQ消息队列 基本订阅/发布Demo(PHP版)
    Docker安装部署RabbitMQ
    CentOS Docker 基本操作
    new worker
    JavaScript避坑
    如何开启MySQL慢查询日志
    kinshard
    Linux shell
    Linux shell
    Linux shell
  • 原文地址:https://www.cnblogs.com/majw/p/11719637.html
Copyright © 2011-2022 走看看