Concurrency মধ্যম

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
কঠিনতা
মধ্যম
মডার্ন প্রসেস API (Modern Process API)
উপলব্ধ

JDK 9 (সেপ্টেম্বর 2017) থেকে ব্যাপকভাবে উপলব্ধ

ProcessHandle মেথড PID, প্রসেসের তথ্য (কমান্ড, আর্গুমেন্টস, স্টার্ট টাইম, CPU ইউসেজ), প্যারেন্ট/চাইল্ড সম্পর্ক এবং প্রসেস ডিস্ট্রাকশন (destruction) সম্পর্কে বিস্তারিত তথ্য প্রদান করে। এর ফলে আর Undocumented Process ইন্টারনালস ব্যবহার করার প্রয়োজন হয় না।