047.JAVA线程_创建进程操作


博主的 Github 地址


1. JAVA 操作进程

  • 在此处进行简要讲解, 后续结合 IO 对进程的数据获取进行深入讲解.
  • 与 JAVA 进程相关的类有两个
    • Runtime 类(java.lang.Runtime)
    • ProcessBuilder 类(java.lang.ProcessBuilder)

1.1. Runtime 类

  • 每个 Java 应用程序都有一个 Runtime 类的 Runtime,
    允许应用程序与运行应用程序的环境进行接口.

  • 当前运行时可以从getRuntime方法获得.

  • 应用程序无法创建自己的此类的实例.

1.1.1. getRuntime() 方法
  • 定义:
    public static Runtime getRuntime()

  • 作用:
    返回与当前 Java 应用程序关联的运行时对象.
    Runtime 类的大多数方法都是实例方法, 必须针对当前的运行时对象进行调用.

1.1.2. exec(String command) 方法
  • 定义:
    public Process exec(String command) throws IOException

  • 作用:
    在单独的进程中执行指定的字符串命令.

  • 备注:
    这是一种方便的方法.
    调用表单exec(command)的行为方式与调用exec(command, null, null)完全相同.

1.2. ProcessBuilder 类

  • 此类用于创建操作系统进程. 每个ProcessBuilder实例管理进程属性的集合.

  • start()方法使用这些属性创建一个新的 Process 实例.
    start()方法可以从同一实例重复调用, 以创建具有相同或相关属性的新子进程.

1.2.1. ProcessBuilder(String... command) 构造器
  • 作用:
    构造具有指定操作系统程序和参数的进程构建器.

  • 备注:

    • 这是一个方便的command函数, 它以相同的顺序将流程构建器的命令
      设置为包含与command数组相同的字符串的字符串列表.

    • 不检查command是否command于有效的操作系统命令.

    • ProcessBuilder(List<String> command) 构造器的简化.

1.2.2. start() 方法
  • 定义:
    public Process start() throws IOException

  • 作用:
    使用此流程构建器的属性启动新进程.

  • 备注:

    • 新进程将调用由指定的命令和参数command()按以下给出, 在工作目录directory(), 有一个过程的环境被给出environment().

    • 该方法检查该命令是否为有效的操作系统命令.
      哪些命令有效是依赖于系统的, 但至少该命令必须是非空字符串的非空列表.

1.3. 进程创建和操作应用实例

  //在 java 中如何开启一个进程: 运行记事本程序.
  public static void main(String[] args) throws Exception{
      /**
      * 方式1: 使用 Runtime 类中的 exec() 方法
      */

      //先获取当前执行程序的运行时对象
      Runtime rt = Runtime.getRuntmie();

      //然后执行命令, cmd 控制台命令
      rt.exec("notepad");

      /**
      * 方式2: 使用 ProcessBuilder 类的 start()方法
      */
      //先构建对象
      ProcessBuilder pb = new ProcessBuilder("notepad");
      //然后执行
      pb.start();
  }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值