जावा 9 ने ProcessHandle इंटरफेस को Process API में जोड़ा है ताकि Process क्लास को बढ़ाया जा सके। ProcessHandle इंटरफेस का एक इंस्टेंस एक स्थानीय प्रक्रिया की पहचान करता है जो हमें प्रक्रिया स्थिति क्वेरी करने और प्रक्रियाओं को प्रबंधित करने की अनुमति देता है, और ProcessHandle.Info हमें स्थानीय कोड का उपयोग करने की अनुमति देता है क्योंकि स्थानीय प्रक्रिया की PID प्राप्त करने की आवश्यकता होती है।
ProcessBuilder क्लास का उपयोग अलग ऑपरेटिंग सिस्टम प्रक्रियाओं को बनाने के लिए किया जा सकता है। नीचे दिए गए उदाहरण में, हम ProcessBuilder क्लास का उपयोग करके ""notepad" " एप्लिकेशन की एक प्रक्रिया बना सकते हैं।
उदाहरण
import java.time.ZoneId; import java.util.stream.Stream; import java.util.stream.Collectors; import java.io.IOException; public class ProcessBuilderTest { public static void main(String args[]) throws IOException { ProcessBuilder pb = new ProcessBuilder("notepad.exe"); String np = "Not Present"; Process p = pb.start(); ProcessHandle.Info info = p.info(); System.out.printf("Process ID : %s%n", p.pid()); System.out.printf("Command name : %s%n", info.command().orElse(np)); System.out.printf("Command line : %s%n", info.commandLine().orElse(np)); System.out.printf("Start time: %s%n", info.startInstant().map(i -> i.atZone(ZoneId.systemDefault()).toLocalDateTime().toString()).orElse(np)); System.out.printf("Arguments : %s%n", info.arguments().map(a -> Stream.of(a).collect( Collectors.joining(" "))).orElse(np)); System.out.printf("User : %s%n", info.user().orElse(np)); } } उपरोक्त उदाहरण नोटपैड एप्लिकेशन को नीचे दिखाए अनुसार लॉन्च करता है

आउटपुट
Process ID : 3728 Command name : C:\WINDOWS\System32\notepad.exe Command line : Not Present Start time: 2020-04-20T18:06:30.378 Arguments : Not Present User : Tutorialspoint\User