ホームページ >Java >&#&チュートリアル >Java で ProcessBuilder を使用して起動されたプロセスの PID を取得する方法
Java から起動されたプロセスの PID を取得する
ProcessBuilder を使用して Java でプロセスを起動する場合、多くの場合、そのプロセス ID を取得する必要があります。 (PID) さらなる管理または監視を可能にします。これを実現する方法は次のとおりです。
以前のバージョンの Java では、Runtime.getRuntime().exec() を使用してプロセスを開始し、ProcessHandle.pid() メソッドを使用してその PID を取得できました。ただし、Java 9 の導入により、ProcessBuilder はより洗練されたアプローチを提供します。
<code class="java">import java.io.IOException; import java.util.concurrent.ThreadLocalRandom; public class GetProcessPID { public static void main(String[] args) { // Generate a random number for the process name String processName = "Process_" + ThreadLocalRandom.current().nextInt(1000); try { // Start the process with ProcessBuilder ProcessBuilder pb = new ProcessBuilder("cmd", "/c", processName); Process p = pb.start(); // Retrieve and print the process PID long pid = p.pid(); System.out.println("Process PID: " + pid); } catch (IOException e) { System.out.println("Error starting process: " + e.getMessage()); } } }</code>
このコードは、ProcessBuilder を使用して、指定した名前 (processName) でコマンド プロンプト (cmd) ウィンドウを起動する方法を示しています。次に、Process オブジェクトの pid() メソッドを使用して、新しく作成されたプロセスの PID を取得し、コンソールに出力されます。
Java 9 以降、pid() メソッドは簡単に取得する方法です。 ProcessBuilder を使用して起動されたプロセスの PID。以前の Java バージョンで ProcessHandle を使用した場合と比較して、プロセスが簡素化されます。
以上がJava で ProcessBuilder を使用して起動されたプロセスの PID を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。