মডার্ন প্রসেস API (Modern Process API)
ProcessHandle ব্যবহার করে অপারেটিং সিস্টেমের (OS) প্রসেসগুলো পরিদর্শন (inspect) এবং ম্যানেজ করুন।
কোড তুলনা
✕ Java 8
Process p = Runtime.getRuntime()
.exec("ls -la");
int code = p.waitFor();
// no way to get PID
// no easy process info
✓ Java 9+
ProcessHandle ph =
ProcessHandle.current();
long pid = ph.pid();
ph.info().command()
.ifPresent(IO::println);
ph.children().forEach(
c -> IO.println(c.pid()));
এই কোডে সমস্যা দেখছেন? আমাদের জানান।
কেন আধুনিক পদ্ধতি ভালো
সম্পূর্ণ তথ্য
PID, কমান্ড, আর্গুমেন্টস, স্টার্ট টাইম, CPU ইউসেজ অ্যাক্সেস করুন।
প্রসেস ট্রি (Process Tree)
প্যারেন্ট, চাইল্ড এবং ডিসেন্ডেন্ট প্রসেসগুলোর মধ্যে নেভিগেট (navigate) করুন।
মনিটরিং
onExit() মেথড অ্যাসিঙ্ক (async) মনিটরিংয়ের জন্য একটি CompletableFuture রিটার্ন করে।
পুরনো পদ্ধতি
Runtime.exec()
আধুনিক পদ্ধতি
ProcessHandle
JDK থেকে
9
কঠিনতা
মধ্যম
JDK সমর্থন
মডার্ন প্রসেস API (Modern Process API)
উপলব্ধ
JDK 9 (সেপ্টেম্বর 2017) থেকে ব্যাপকভাবে উপলব্ধ
কীভাবে কাজ করে
ProcessHandle মেথড PID, প্রসেসের তথ্য (কমান্ড, আর্গুমেন্টস, স্টার্ট টাইম, CPU ইউসেজ), প্যারেন্ট/চাইল্ড সম্পর্ক এবং প্রসেস ডিস্ট্রাকশন (destruction) সম্পর্কে বিস্তারিত তথ্য প্রদান করে। এর ফলে আর Undocumented Process ইন্টারনালস ব্যবহার করার প্রয়োজন হয় না।
সম্পর্কিত ডকুমেন্টেশন
প্রমাণ