Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào để truy xuất tất cả dữ liệu quy trình của API quy trình trong Java 9?


Trong Java 9, Process API đã được sử dụng để kiểm soát và quản lý các quy trình của hệ điều hành. ProcessHandle lớp cung cấp quy trình gốc của quy trình ID , bắt đầu thời gian , tích lũy CPU thời gian , đối số , lệnh , người dùng , cha mẹ quy trình con cháu . Nó cũng cung cấp một phương pháp để kiểm tra độ sống của quy trình và để d estroy các quy trình. Chúng tôi truy xuất tất cả ProcessHandle dữ liệu dưới dạng luồng bằng cách sử dụng allProcesses () phương pháp.

Trong ví dụ dưới đây, chúng tôi truy xuất tất cả thông tin quy trình.

Ví dụ

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<ProecessHandle> 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());
   }
}

Đầu ra

---------------------------
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
---------
Id: 6168
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:01.567Z], totalTime: Optional[PT2M24.671875S]]
Info arguments().isPresent(): false
Info command().isPresent(): true
Info totalCpuDuration().isPresent(): true
Info user().isPresent(): true
---------
Id: 7972
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:03.118Z], totalTime: Optional[PT29.09375S]]
Info arguments().isPresent(): false
Info command().isPresent(): true
Info totalCpuDuration().isPresent(): true
Info user().isPresent(): true
---------
Id: 3368
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:27:26.511Z], totalTime: Optional[PT37.84375S]]
Info arguments().isPresent(): false
Info command().isPresent(): true
Info totalCpuDuration().isPresent(): true
Info user().isPresent(): true
---------
Id: 2456
isAlive(): true
number of childrens: 0
isSupportsNormalTermination(): false
Info: [user: Optional[Tutorialspoint\User], cmd: C:\WINDOWS\System32\conhost.exe, startTime: Optional[2020-03-09T03:30:49.514Z], totalTime: Optional[PT0.390625S]]
Info arguments().isPresent(): false
Info command().isPresent(): true
Info totalCpuDuration().isPresent(): true
Info user().isPresent(): true
---------
Id: 7804
isAlive(): true
number of childrens: 4
isSupportsNormalTermination(): false
Info: [user: Optional[Tutorialspoint\User], cmd: C:\Program Files\Mozilla Firefox\firefox.exe, startTime: Optional[2020-03-09T03:30:51.441Z], totalTime: Optional[PT38.046875S]]
Info arguments().isPresent(): false
Info command().isPresent(): true
Info totalCpuDuration().isPresent(): true
Info user().isPresent(): true
---------
Id: 8172
isAlive(): true
number of childrens: 0
isSupportsNormalTermination(): false
Info: [user: Optional[Tutorialspoint\User], cmd: C:\Program Files\Mozilla Firefox\firefox.exe, startTime: Optional[2020-03-09T03:30:53.293Z], totalTime: Optional[PT4.03125S]]
Info arguments().isPresent(): false
Info command().isPresent(): true
Info totalCpuDuration().isPresent(): true
Info user().isPresent(): true
---------
Id: 6008
isAlive(): true
number of childrens: 0
isSupportsNormalTermination(): false
Info: [user: Optional[Tutorialspoint\User], cmd: C:\Program Files\Mozilla Firefox\firefox.exe, startTime: Optional[2020-03-09T03:30:54.081Z], totalTime: Optional[PT5M28.078125S]]
Info arguments().isPresent(): false
Info command().isPresent(): true
Info totalCpuDuration().isPresent(): true
Info user().isPresent(): true
---------
Id: 1032
isAlive(): false
number of childrens: 0
isSupportsNormalTermination(): false
Info: []
Info arguments().isPresent(): false
Info command().isPresent(): false
Info totalCpuDuration().isPresent(): false
Info user().isPresent(): false
---------
Id: 5044
isAlive(): true
number of childrens: 0
isSupportsNormalTermination(): false
Info: [user: Optional[Tutorialspoint\User], cmd: C:\Program Files\Java\jdk-9.0.4\bin\java.exe, startTime: Optional[2020-03-09T04:12:39.567Z], totalTime: Optional[PT1.28125S]]
Info arguments().isPresent(): false
Info command().isPresent(): true
Info totalCpuDuration().isPresent(): true
Info user().isPresent(): true