Java 9 中 ProcessHandle 介面的重要性是什麼?
ProcessHandle 介面在 Java 9 中引入。它允許我們執行操作並檢查相關程序的狀態。此介面提供程序的原生程序 ID (pid)、啟動時間、累積 CPU 時間、引數、命令、使用者、父程序和子程序。
ProcessHandle 介面允許我們執行以下操作。
- 它返回一個包含有關程序的更多資訊的ProcessHandle.Info
- 程序的 Pid
- 它是否處於活動狀態
- 檢索程序直接子程序的快照
- 檢索程序所有後代的快照
- 檢索所有當前正在執行的程序的快照
- 允許銷燬程序
- 它返回一個包含ProcessHandle 的CompletableFuture,用於在程序終止時。
ProcessHandle.Info 包含程序快照中的資訊,包括:
- 程序的命令
- 程序的引數
- 程序的命令列
- 程序的啟動時間
- 程序使用的 CPU 時間
- 程序的使用者
在下面的示例中,我們可以使用pid()方法列印當前 Process Handle 的pid,並使用isAlive()方法檢查程序當前是否正在執行。
示例
import java.util.Optional;
public class ProcessHandleTest {
public static void main(String args[]) {
long pid = ProcessHandle.current().pid();
ProcessHandle currentProcess = ProcessHandle.current();
System.out.println("PID: " + currentProcess.pid());
Optional<ProcessHandle> processHandle = ProcessHandle.of(pid);
boolean isAlive = processHandle.isPresent() && processHandle.get().isAlive();
System.out.println(isAlive);
}
}輸出
PID: 6484 true
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP