プロセスの作成
プロセスを作成するには、まずProcessBuilderクラスにコマンド名とその引数などのプロセスの属性を指定します。次に、ProcessBuilder.startメソッドを使用してプロセスを起動します。これによってProcessインスタンスが返されます。
次の行によってプロセスが作成および起動されます。
ProcessBuilder pb = new ProcessBuilder("echo", "Hello World!");
Process p = pb.start();
次の引用では、setEnvTest
メソッドによってhorse
とdoc
の2つの環境変数が設定され、次にecho
コマンドによってこれらの環境変数(およびシステム環境変数HOME
)の値が出力されます:
public static void setEnvTest() throws IOException, InterruptedException {
ProcessBuilder pb =
new ProcessBuilder("/bin/sh", "-c", "echo $horse $dog $HOME").inheritIO();
pb.environment().put("horse", "oats");
pb.environment().put("dog", "treats");
pb.start().waitFor();
}
このメソッドの出力を次に示します(ホーム・ディレクトリは/home/admin
であるとします)。
oats treats /home/admin