Java.lang.ProcessBuilder.redirectErrorStrestart() 方法

描述

java.lang.ProcessBuilder.start() 方法使用此流程构建器的属性启动一个新流程。 新进程将在由 directory() 给出的工作目录中调用由 command() 给出的命令和参数,以及由 environment() 给出的进程环境。 此方法检查该命令是否为有效的操作系统命令。 哪些命令有效取决于系统,但至少该命令必须是非空字符串的非空列表。

如果有一个安全管理器,它的 checkExec 方法会被调用,这个对象的命令数组的第一个组件作为它的参数。 这可能会导致抛出 SecurityException。


声明

以下是 java.lang.ProcessBuilder.start() 方法的声明。

public Process start()

参数

NA


返回值

该方法返回一个新的Process对象,用于管理子进程


异常

  • NullPointerException − 如果命令列表的元素为空

  • IndexOutOfBoundsException − 如果命令是一个空列表(大小为 0)

  • SecurityException − 如果存在安全管理器并且其 checkExec 方法不允许创建子进程

  • IOException − 如果发生 I/O 错误


示例

下面的例子展示了 lang.ProcessBuilder.start() 方法的使用。

package com.tutorialspoint;

import java.io.IOException;

public class ProcessBuilderDemo {

   public static void main(String[] args) {

      // create a new list of arguments for our process
      String[] list = {"notepad.exe", "test.txt"};

      // create the process builder
      ProcessBuilder pb = new ProcessBuilder(list);
      try {
         // start the subprocess
         System.out.println("Starting the process..");
         pb.start();
      } catch (IOException ex) {
         ex.printStackTrace();
      }
   }
}

让我们编译并运行上面的程序,这将产生下面的结果 −

Starting the process..