- Java.lang 包类
- Java.lang - 首页
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang 包其他内容
- Java.lang - 接口
- Java.lang - 错误
- Java.lang - 异常
- Java.lang 包有用资源
- Java.lang - 有用资源
- Java.lang - 讨论
Java ProcessBuilder start() 方法
描述
Java ProcessBuilder start() 方法使用此进程构建器的属性启动一个新进程。新进程将调用由 command() 给出的命令和参数,在由 directory() 给出的工作目录中,使用由 environment() 给出的进程环境。此方法检查命令是否为有效的操作系统命令。哪些命令有效取决于系统,但至少命令必须是非空且非 null 字符串的列表。
如果存在安全管理器,则其 checkExec 方法将使用此对象的 command 数组的第一个组件作为其参数被调用。这可能会导致抛出 SecurityException。
声明
以下是 java.lang.ProcessBuilder.start() 方法的声明
public Process start()
参数
无
返回值
此方法返回一个新的 Process 对象,用于管理子进程
异常
NullPointerException − 如果命令列表中的元素为 null
IndexOutOfBoundsException − 如果命令为空列表(大小为 0)
SecurityException − 如果存在安全管理器且其 checkExec 方法不允许创建子进程
IOException − 如果发生 I/O 错误
使用 Process Builder 示例启动记事本进程
以下示例演示了 ProcessBuilder start() 方法的使用。在此程序中,我们创建了一个字符串数组,并将 notepad.exe 和 test.txt 添加到其中。使用该列表,我们初始化了一个 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..
使用 Process Builder 示例启动计算器进程
以下示例演示了 ProcessBuilder start() 方法的使用。在此程序中,我们创建了一个字符串数组,并将 calc.exe 添加到其中。使用该列表,我们初始化了一个 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 = {"calc.exe"}; // 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..
使用 Process Builder 示例启动 Windows 资源管理器进程
以下示例演示了 ProcessBuilder start() 方法的使用。在此程序中,我们创建了一个字符串数组,并将 explorer.exe 添加到其中。使用该列表,我们初始化了一个 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 = {"explorer.exe"}; // 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..