Récupération du PID d'un processus lancé depuis Java
Lors du lancement d'un processus en Java à l'aide de ProcessBuilder, vous devez souvent obtenir son ID de processus (PID) pour une gestion ou une surveillance ultérieure. Voici comment y parvenir :
Dans les versions précédentes de Java, vous pouviez utiliser Runtime.getRuntime().exec() pour démarrer un processus et récupérer son PID à l'aide de la méthode ProcessHandle.pid(). Cependant, avec l'introduction de Java 9, ProcessBuilder propose une approche plus raffinée.
<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>
Ce code montre comment utiliser ProcessBuilder pour démarrer une fenêtre d'invite de commande (cmd) avec un nom spécifié (processName). La méthode pid() de l'objet Process est ensuite utilisée pour obtenir le PID du processus nouvellement créé, qui est imprimé sur la console.
Depuis Java 9, la méthode pid() est un moyen simple de récupérer le PID des processus lancés à l’aide de ProcessBuilder. Cela simplifie le processus par rapport à l'utilisation de ProcessHandle dans les versions Java antérieures.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!