Heim > Java > javaLernprogramm > Hauptteil

Wie rufe ich die PID eines Prozesses ab, der mit ProcessBuilder in Java gestartet wurde?

DDD
Freigeben: 2024-10-25 08:14:29
Original
446 Leute haben es durchsucht

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

Abrufen der PID eines von Java gestarteten Prozesses

Wenn Sie einen Prozess in Java mit ProcessBuilder starten, müssen Sie häufig seine Prozess-ID abrufen (PID) zur weiteren Verwaltung oder Überwachung. So können Sie dies erreichen:

In früheren Versionen von Java konnten Sie Runtime.getRuntime().exec() verwenden, um einen Prozess zu starten und seine PID mithilfe der Methode ProcessHandle.pid() abzurufen. Mit der Einführung von Java 9 bietet ProcessBuilder jedoch einen verfeinerten Ansatz.

<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>
Nach dem Login kopieren

Dieser Code zeigt, wie man ProcessBuilder verwendet, um ein Eingabeaufforderungsfenster (cmd) mit einem angegebenen Namen (processName) zu starten. Anschließend wird die pid()-Methode des Process-Objekts verwendet, um die PID des neu erstellten Prozesses abzurufen, die auf der Konsole ausgegeben wird.

Seit Java 9 ist die pid()-Methode eine einfache Möglichkeit zum Abrufen die PID von Prozessen, die mit ProcessBuilder gestartet wurden. Es vereinfacht den Prozess im Vergleich zur Verwendung von ProcessHandle in früheren Java-Versionen.

Das obige ist der detaillierte Inhalt vonWie rufe ich die PID eines Prozesses ab, der mit ProcessBuilder in Java gestartet wurde?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!