জাভা ৯-এ Process ক্লাসকে নতুন মেথড যোগ করে উন্নত করা হয়েছে এবং দুটি নতুন ইন্টারফেস যোগ করা হয়েছে: ProcessHandle এবং ProcessHandle.Info যাতে প্রসেস ও তার ইনফরমেশন সম্পর্কে সব ডিটেইল পাওয়া যায়।
জাভা ৯-এ Process-এ যোগ করা নতুন মেথডসমূহ
- boolean supportsNormalTermination(): destroy() ইমপ্লিমেন্টেশন যদি নরমালি প্রসেস টার্মিনেট করতে ব্যবহৃত হয় তবে true রিটার্ন করে, অন্যথায় false।
- long pid(): প্রসেসের নেটিভ প্রসেস আইডি রিটার্ন করে।
- 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