Java Processクラスを使って外部プロセスを実行する




Java以外で実施したい処理は結構あります。
たとえば、Javaで作成したアプリケーションのランチャー、管理ツールのようなものでは、他アプリケーションの起動・終了を行ったりします。
Javaから別のプログラム(外部プロセス)を実行できれば、いろいろなことができますね♪

外部プロセスを実行するサンプル

メモ帳を開きます。
また、開いたメモ帳が閉じるまで、アプリケーションは待ち続けます。

実行結果

メモ帳が開きます。
開いたメモ帳を閉じると、アプリケーションが終了します。

サンプルの解説

ProcessBuilder#start()により、外部のプロセスを実行することができます。
Process#waitFor()により、外部のプロセスが終了するまで待ち続けることができます。
Process#waitFor()を使用しない場合は、アプリケーションの処理がそのまま走るため、このサンプルでは即時アプリケーションが終了することになります。
別にメモ帳を開いておき、アプリケーションが開いたメモ帳以外を閉じたとしても、もちろんアプリケーションは終了しません。
また、Process#destroy()を使うと、実行している外部プロセスを終了させることもできます。