JShell একটি জাভা শেল টুল ক্লাস, পদ্ধতি, ইন্টারফেস, enums, এর মত সাধারণ জাভা স্টেটমেন্ট চালানোর জন্য ব্যবহৃত হয় এবং ইত্যাদি. এটিকে মূল্যায়ন করে, এবং একটি কমান্ড-লাইনে ফলাফল প্রিন্ট করে প্রম্পট।
Java উন্নত হয়েছে প্রসেস API অপারেটিং সিস্টেম প্রক্রিয়া পরিচালনা এবং নিয়ন্ত্রণ করতে। প্রসেসহ্যান্ডেল ইন্টারফেস নেটিভ প্রসেস, প্রক্রিয়াগুলি চেক করার পদ্ধতিগুলি সনাক্ত করে এবং নিয়ন্ত্রণ প্রদান করে সজীবতা , এবং ধ্বংস করুন প্রক্রিয়া . প্রসেসহ্যান্ডেল। তথ্য ইন্টারফেস একটি তথ্য স্ন্যাপশট দেয় একটি প্রক্রিয়ার।
নিচের কোড স্নিপেটে, আমরা pid প্রিন্ট করতে পারি , তথ্য , শিশু , এবং ধ্বংস করুন প্রক্রিয়া এর প্রক্রিয়া API .in JShell টুল।
স্নিপেট
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)