java.lang.ProcessBuilder.start() 方法使用此進程生成器的屬性來啟動一個新進程。新進程將呼叫command()命令和引數(假設),在工作目錄所給出的directory(),有一個過程的環境所給出的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.yiibai; 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..