जावा 9 Process क्लास को नए मेथड जोड़कर सुधारता है और प्रोसेस और उसकी जानकारी के बारे में सभी विवरण प्राप्त करने के लिए एक नया इंटरफेस भी प्रदान करता है: ProcessHandle और ProcessHandle.Info।
जावा 9 में Process में जोड़े गए नए मेथड की सूची नीचे दी गई है:
- boolean supportsNormalTermination(): यदि destroy() का कार्यान्वयन प्रक्रिया को सामान्य रूप से समाप्त करना है तो true लौटाता है, अन्यथा false लौटाता है।
- long pid(): प्रोसेस का नेटिव प्रोसेस ID लौटाता है।
- ProcessHandle toHandle(): प्रोसेस के लिए एक ProcessHandle लौटाता है।
- Stream children(): प्रोसेस के डायरेक्ट बच्चों का स्नैपशॉट लौटाता है।
- Stream descendants(): प्रोसेस के वंशजों का स्नैपशॉट लौटाता है।
- ProcessHandle.Info info(): प्रोसेस के बारे में जानकारी का स्नैपशॉट लौटाता है।
- CompletableFuture onExit(): प्रोसेस की समाप्ति के लिए एक CompletableFuture लौटाता है।
उदाहरण
public class ProcessTest {
public static void main(String args[]) {
ProcessHandle processHandle = ProcessHandle.current();
ProcessHandle.Info processInfo = processHandle.info();
System.out.println(processHandle.pid());
System.out.println(processHandle.parent());
System.out.println(processInfo.arguments().isPresent());
System.out.println(processInfo.command().isPresent());
System.out.println(processInfo.command().get().contains("tutorialspoint"));
System.out.println(processInfo.startInstant().isPresent());
}
}
आउटपुट
4892 Optional[7788] false true false true