Rumah >Java >javaTutorial >Bagaimana untuk Mendapatkan PID Proses yang Dilancarkan menggunakan ProcessBuilder di Java?
Mengambil semula PID Proses yang Dilancarkan daripada Java
Apabila melancarkan proses dalam Java menggunakan ProcessBuilder, anda selalunya perlu mendapatkan ID prosesnya (PID) untuk pengurusan atau pemantauan selanjutnya. Begini cara anda boleh mencapai ini:
Dalam versi Java sebelumnya, anda boleh menggunakan Runtime.getRuntime().exec() untuk memulakan proses dan mendapatkan semula PIDnya menggunakan kaedah ProcessHandle.pid(). Walau bagaimanapun, dengan pengenalan Java 9, ProcessBuilder menawarkan pendekatan yang lebih halus.
<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>
Kod ini menunjukkan cara menggunakan ProcessBuilder untuk memulakan tetingkap command prompt (cmd) dengan nama tertentu (processName). Kaedah pid() objek Proses kemudiannya digunakan untuk mendapatkan PID proses yang baru dibuat, yang dicetak ke konsol.
Sejak Java 9, kaedah pid() ialah cara mudah untuk mendapatkan semula PID proses yang dilancarkan menggunakan ProcessBuilder. Ia memudahkan proses berbanding menggunakan ProcessHandle dalam versi Java terdahulu.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan PID Proses yang Dilancarkan menggunakan ProcessBuilder di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!