Maison > Java > javaDidacticiel > le corps du texte

Comment récupérer le PID d'un processus lancé à l'aide de ProcessBuilder en Java ?

DDD
Libérer: 2024-10-25 08:14:29
original
446 Les gens l'ont consulté

How to Retrieve the PID of a Process Launched using ProcessBuilder in Java?

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!