ProcessHandlerを利用して、実行中のプロセスを取得します。
Java9以降で利用できます。
今回は、自分のプロセスと、特定のPIDを指定してプロセスを取得してみます。
以下のように実装します。
// 自プロセスのIDを表示する。
ProcessHandle current = ProcessHandle.current();
System.out.println(current.pid());
// プロセス情報を表示する。
ProcessHandle.Info currentInfo = current.info();
System.out.println(currentInfo.command());
// 特定のプロセスを終了する。
Optional handle = ProcessHandle.of(10548);
if (!handle.isEmpty()) {
handle.get().destroy();
}
取得したプロセスの詳細は、ProcessHandle.Infoで確認できます。
また、取得したプロセスから子プロセス情報等も取得することができます。