在负责控制和管理操作系统进程的Java 9 Process API中已经有了相当大的改进。 ProcessHandle类提供进程本机进程ID,开始时间,累计CPU时间,参数,命令,用户,父进程和子进程。 ProcessHandle类还提供了检查进程活性并销毁进程的方法。 它具有onExit方法,当进程退出时,CompletableFuture类可以异步执行操作。

参考以下实现代码(Tester.java)-

import java.time.ZoneId;

import java.util.stream.Stream;

import java.util.stream.Collectors;

import java.io.IOException;

public class Tester {

public static void main(String[] args) throws IOException {

ProcessBuilder pb = new ProcessBuilder("notepad.exe");

String np = "Not Present";

Process p = pb.start();

ProcessHandle.Info info = p.info();

System.out.printf("Process ID : %s%n", p.pid());

System.out.printf("Command name : %s%n", info.command().orElse(np));

System.out.printf("Command line : %s%n", info.commandLine().orElse(np));

System.out.printf("Start time: %s%n",

info.startInstant().map(i -> i.atZone(ZoneId.systemDefault())

.toLocalDateTime().toString()).orElse(np));

System.out.printf("Arguments : %s%n",

info.arguments().map(a -> Stream.of(a).collect(

Collectors.joining(" "))).orElse(np));

System.out.printf("User : %s%n", info.user().orElse(np));

}

}

执行上面示例代码,得到以下结果 -

Process ID : 5800

Command name : C:\Windows\System32\notepad.exe

Command line : Not Present

Start time: 2018-01-04T21:35:03.626

Arguments : Not Present

User: administrator

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

java 9 api_Java9 Process API相关推荐

  1. Java 9:Process API的增强

    Java 9对Process API进行了各种改进,用于控制和管理操作系统进程. 获取有关流程的信息 有一个新的ProcessHandle类,提供了进程的pid,父级和后代,以及有关开始时间和累积CP ...

  2. Java 9:对Process API的增强

    Java 9对Process API进行了各种改进,用于控制和管理操作系统进程. 获取有关流程的信息 有一个新的ProcessHandle类,提供了进程的pid,父级和后代,以及有关开始时间和累积CP ...

  3. atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97

    atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97 1. 实现html5化界面的要解决的策略1 1.1. Js交互1 1.2. 动态参 ...

  4. java swing调用H5_atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97...

    atitit.js javascript 调用c# java php后台语言api html5交互的原理与总结p97 1.实现html5化界面的要解决的策略 1.1.Js交互 Firefox与Chro ...

  5. 在JShell中尝试Java9 HTTP客户端和Process API

    这篇文章继续了My My Java 9 Features博客文章中对Java9功能的探索. 在这里,我们用在Java9 HTTP / 2客户端和进程API试验JShell HTTP / 2客户端 HT ...

  6. Java调用高德地图API根据详细地址获取经纬度

    Java调用高德地图API根据详细地址获取经纬度 官方API:https://lbs.amap.com/api/webservice/guide/api/georegeo * Web服务API 地理/ ...

  7. process_在JShell中尝试Java9 HTTP客户端和Process API

    process 这篇文章继续了My My Java 9 Features博客文章中对Java9功能的探索. 在这里,我们用在Java9 HTTP / 2客户端和进程API试验JShell HTTP / ...

  8. 【错误记录】Android 中调用 Process 命令行执行指令 ( java.lang.IllegalThreadStateException: process hasn‘t exited )

    文章目录 一.报错信息 二.解决方案 一.报错信息 2021-05-07 13:24:24.672 29512-29512/kim.hsl.a7_zip E/AndroidRuntime: FATAL ...

  9. 外汇汇率接口 java_基于JAVA的货币汇率api调用代码实例

    代码描述:基于JAVA的货币汇率api调用代码实例 关联数据:货币汇率 接口地址:http://www.juhe.cn/docs/api/id/23 1.[代码][Java]代码 import jav ...

  10. web前端培训分享Electron之Main Process API

    本节由千锋web前端培训机构讲师给大家分享Electron使用指南之Main Process API,Electron API (Electron API 有三种) Main Process (主进进 ...

最新文章

  1. JS 获取每月有几周(每周五到周四算作一周)
  2. Apache Falcon数据集管理和数据处理平台
  3. 2021年CISCN初赛re
  4. java-native方法,通过JNI实现c的动态库的加载,实现软硬件之间的交互,跨平台的基础之一
  5. CentOS 7 搭建JAVA环境
  6. 免费使用的支付宝,到底是怎么一年赚1206亿的?
  7. java数据类型和运算优先级
  8. 使用.NET Core 3.1构建Windows Worker服务以删除文件夹中的旧文件
  9. 在MVC3中使用code first生成数据局库并操作数据库
  10. python建立空集合_「python」集合类型及操作
  11. Sketch技巧:快速复制图形
  12. 电机学重读(一)基础知识
  13. Fedora 14 下成功驱动BCM4312的步骤
  14. TOGAF 企业连续系列
  15. HTML5-单、多选框,按钮
  16. 光谱分析软件_[Howtodowx]OMNIC红外光谱分析软件
  17. javaee第二阶段总结
  18. 绿色手动安装MySQL数据库
  19. mysql aborted connection_mysql Aborted connection错误
  20. 财务学python还是vba_各位大佬好,财务分析,要使用BI,VBA,Python,Wind学习那个可以对财务工作更加有益?...

热门文章

  1. 个人开发者都可享受 无服务器计算颠覆收费
  2. PHP安装OPENSSL扩展模块
  3. [转]Directx11 3D空间坐标系认识
  4. 又是一岁,又是一年,又是新的开端【我与51CTO的故事】
  5. 【TDA4系列】Linux SDK安装与交叉编译测试,以及刷写SD卡
  6. 3月25日 插值-样条插值
  7. Membership Leakage in Label-Only Exposures论文解读
  8. Vue(三)goods组件开发
  9. Linux入门命令解释(1)
  10. IOS开发之显示微博表情