जेशेल एक जावा शेल टूल है जिसका उपयोग कक्षाओं, विधियों, इंटरफेस, एनम, जैसे सरल जावा कथनों को निष्पादित करने के लिए किया जाता है। और आदि.. इसका मूल्यांकन करता है, और परिणाम को कमांड-लाइन . में प्रिंट करता है शीघ्र।
Java ने प्रक्रिया API में सुधार किया है ऑपरेटिंग सिस्टम प्रक्रियाओं का प्रबंधन और नियंत्रण करने के लिए। प्रोसेस हैंडल इंटरफ़ेस मूल प्रक्रियाओं की पहचान करता है और नियंत्रण प्रदान करता है, प्रक्रियाओं . की जांच करने के तरीके जीवंतता , और नष्ट करें प्रक्रिया . ProcessHandle.Info इंटरफ़ेस एक जानकारी देता है स्नैपशॉट एक प्रक्रिया का।
नीचे दिए गए कोड स्निपेट में, हम pid print प्रिंट कर सकते हैं , जानकारी , बच्चे , और नष्ट करें प्रक्रिया . की प्रक्रियाएं एपीआई .in जेशेल उपकरण।
स्निपेट
jshell> ProcessHandle currentProcess = ProcessHandle.current();
currentProcess ==> 3960
jshell> System.out.println("Current Process Id: = " + currentProcess.pid());
Current Process Id: = 3960
jshell> currentProcess.info();
$3 ==> [user: Optional[Tutorialspoint\User], cmd: C:\Program Files\Java\jdk-9.0.4\bin\java.exe, startTime: Optional[2020-05-03T06:43:37.510Z], totalTime: Optional[PT1.265625S]]
jshell> currentProcess.pid();
$4 ==> 3960
jshell> ProcessHandle.of(3960)
$5 ==> Optional[3960]
jshell> $5.get()
$6 ==> 3960
jshell> $6.info()
$7 ==> [user: Optional[Tutorialspoint\User], cmd: C:\Program Files\Java\jdk-9.0.4\bin\java.exe, startTime: Optional[2020-05-03T06:43:37.510Z], totalTime: Optional[PT1.390625S]]
jshell> Stream<ProcessHandle> childProc = ProcessHandle.current().children();
childProc ==> java.util.stream.ReferencePipeline$2@6895a785
jshell> childProc.count()
$10 ==> 1
jshell> childProc.forEach(procHandle -> { System.out.println(procHandle.destroy() ? "Could not kill process " + procHandle.pid() : "Terminated " + procHandle.pid()); });
| java.lang.IllegalStateException thrown: stream has already been operated upon or closed
| at AbstractPipeline.evaluate (AbstractPipeline.java:229)
| at ReferencePipeline.forEach (ReferencePipeline.java:430)
| at (#11:1)