কম্পিউটার টিউটোরিয়াল

জাভা ৯-এ Process API-এর সব প্রসেস ডেটা কীভাবে রিট্রিভ করবেন?

জাভা ৯-এ, Process API অপারেটিং সিস্টেম প্রসেস কন্ট্রোল ও ম্যানেজ করতে ব্যবহৃত হয়। ProcessHandle ক্লাস প্রসেসের নেটিভ প্রসেস ID, স্টার্ট টাইম, অ্যাকিউমুলেটেড CPU টাইম, আর্গুমেন্টস, কমান্ড, ইউজার, পেরেন্ট প্রসেস, এবং ডিসেন্ডেন্টস প্রদান করে। এটি প্রসেসের লাইভনেস চেক করার মেথড এবং প্রসেস ডিস্ট্রয় করার মেথডও প্রদান করে। আমরা allProcesses() মেথড ব্যবহার করে সব ProcessHandle ডেটা স্ট্রিম হিসেবে রিট্রিভ করতে পারি।

উদাহরণ: সব প্রসেস ইনফরমেশন রিট্রিভ

import java.util.stream.Stream;
import java.util.Optional;
import java.util.stream.Stream;

public class AllProcessesTest {
    public static void main(String args[]) throws InterruptedException {
        System.out.println("---------------------------");
        System.out.println("All Processes:");
        Stream<ProcessHandle> processStream = ProcessHandle.allProcesses();
        processStream.forEach(process -> printInfo(process));
    }
    private static void printInfo(ProcessHandle processHandle) {
        System.out.println("---------");
        System.out.println("Id: " + processHandle.pid());
        System.out.println("isAlive(): " + processHandle.isAlive());
        System.out.println("number of childrens: " + processHandle.children().count());
        System.out.println("isSupportsNormalTermination(): " + processHandle.supportsNormalTermination());
        ProcessHandle.Info processInfo = processHandle.info();
        System.out.println("Info: " + processInfo.toString());
        System.out.println("Info arguments().isPresent(): " + processInfo.arguments().isPresent());
        System.out.println("Info command().isPresent(): " + processInfo.command().isPresent());
        System.out.println("Info totalCpuDuration().isPresent(): " + processInfo.totalCpuDuration().isPresent());
        System.out.println("Info user().isPresent(): " + processInfo.user().isPresent());
    }
}

আউটপুট (আংশিক)

---------------------------
All Processes:
Id: 7056
isAlive(): true
number of childrens: 0
isSupportsNormalTermination(): false
Info: [user: Optional[Tutorialspoint\User], cmd: C:\Program Files (x86)\Google\Chrome\Application\chrome.exe, startTime: Optional[2020-03-09T03:26:00.406Z], totalTime: Optional[PT1M52.15625S]]
Info arguments().isPresent(): false
Info command().isPresent(): true
Info totalCpuDuration().isPresent(): true
Info user().isPresent(): true
... (অন্যান্য প্রসেস)
  1. জাভা ৯-এ ProcessBuilder ব্যবহার করে প্রসেস তৈরি করার পদ্ধতি

  2. জাভাতে RMI (Remote Method Invocation) ব্যবহার করে রিমোট মেথড কল করা

  3. জাভাতে CSV ফাইল থেকে ডেটা পড়া

  4. জাভাতে প্রপার্টিজ ফাইল থেকে ডেটা পড়া