জাভা ৯-এ প্রসেস API উন্নত করা হয়েছে, যা অপারেটিং সিস্টেম প্রসেস পরিচালনা ও নিয়ন্ত্রণে সাহায্য করে। জাভা ৯-এর আগে জাভা প্রোগ্রাম ব্যবহার করে অপারেটিং সিস্টেম প্রসেস পরিচালনা ও নিয়ন্ত্রণ করা কঠিন ছিল। জাভা ৯ থেকেই নতুন ক্লাস ও ইন্টারফেস যোগ করা হয়েছে যাতে জাভা প্রোগ্রাম দিয়ে অপারেটিং সিস্টেম প্রসেস নিয়ন্ত্রণ করা যায়। ProcessHandle ও ProcessHandle.Info মতো নতুন ইন্টারফেস এবং Process ক্লাসে নতুন মেথড যোগ করা হয়েছে।
নিচের উদাহরণে, Process API-র প্রসেস ট্রি (চাইল্ড (children) এবং ডিসেন্ডেন্ট (descendant) প্রসেস) ট্রাভার্স করা দেখানো হয়েছে।
উদাহরণ
import java.io.IOException;
public class ProcessTreeTest {
public static void main(String args[]) throws IOException {
Runtime.getRuntime().exec("cmd");
System.out.println("চাইল্ড প্রসেসগুলো দেখানো হচ্ছে:");
ProcessHandle processHandle = ProcessHandle.current();
processHandle.children().forEach(childProcess ->
System.out.println("PID: " + childProcess.pid() + " Command: " + childProcess.info().command().get()));
System.out.println("ডিসেন্ডেন্ট প্রসেসগুলো দেখানো হচ্ছে:");
processHandle.descendants().forEach(descendantProcess ->
System.out.println("PID: " + descendantProcess.pid() + " Command: " +
descendantProcess.info().command().get()));
}
}
আউটপুট
চাইল্ড প্রসেসগুলো দেখানো হচ্ছে: PID: 5092 Command: C:\WINDOWS\System32\cmd.exe ডিসেন্ডেন্ট প্রসেসগুলো দেখানো হচ্ছে: PID: 5092 Command: C:\WINDOWS\System32\cmd.exe PID: 2256 Command: C:\WINDOWS\System32\conhost.exe