ProcessHandle接口是在 Java 9 中引入的。它允许我们执行操作并检查相关进程的状态。此接口提供进程的本机进程 ID (pid)、启动时间、累积 CPU 时间、参数、命令、用户、父进程和后代.
ProcessHandle接口允许我们执行以下操作。
- 它返回一个ProcessHandle.Info 包含有关进程的更多信息
- 进程的 Pid
- 如果它处于活动状态
- 检索进程的直接子进程的快照
- 检索进程所有下降的快照
- 检索所有当前正在运行的进程的快照
- 允许销毁进程
- 当 Progress 终止时,它会返回一个带有 ProcessHandle 的 CompletableFuture
ProcessHandle.Info 保存来自进程快照的信息,包括:
- 进程的命令
- 进程的参数
- 进程的命令行
- 进程的启动时间
- 进程使用的CPU时间
- 进程的用户
示例
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.of(pid);
boolean isAlive = processHandle.isPresent() && processHandle.get().isAlive();
System.out.println(isAlive);
}
}
登录后复制
输出
PID: 6484
true
登录后复制
以上就是ProcessHandle接口在Java 9中的重要性是什么?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!