Process p = rt.exec("notepad.exe");
ProcessHandle ph = p.toHandle();
System.out.println("进程是否运行:" + ph.isAlive());
System.out.println("进程ID:" + ph.pid());
System.out.println("父进程:" + ph.parent()); ProcessHandle.Info info = ph.info(); System.out.println("进程命令:" + info.command());
System.out.println("进程参数:" + info.arguments());
System.out.println("进程启动时间: " + info.startInstant());
System.out.println("进程积计运行时间:" + info.totalCpuDuration());
// 通过CompletetableFuture 在进程结束时运行某个命令
CompletableFuture<ProcessHandle> cf = ph.onExit(); cf.thenRunAsync(() -> System.out.println("程序退出"));
Thread.sleep();

output:

进程是否运行:true
进程ID:7004
父进程:Optional[13192]
进程命令:Optional[C:\Windows\System32\notepad.exe]
进程参数:Optional.empty
进程启动时间: Optional[2019-07-25T07:07:49.393Z]
进程积计运行时间:Optional[PT0.03125S]
程序退出

  

learning java ProcessHandle 获取进程相当信息的更多相关文章

  1. java反射--获取成员变量信息

    获取成员变量信息 代码及说明: public static void printFieldMessage(Object obj) { //要获取类的信息,首先要获取类的类类型 Class c=obj. ...

  2. java提取(获取)博客信息(内容)

    package com.wbg.my.service; import java.io.*; import java.net.HttpURLConnection; import java.net.URL ...

  3. JAVA Socket获取服务端信息

    1.Socket.getInetAddress(),获取服务端地址. 2.Socket.getPort(),获取服务端端口.

  4. java HttpClient 获取页面Cookie信息

    HttpClient client = new HttpClient(); GetMethod get=new GetMethod("http://www.baidu.com"); ...

  5. learning java 读写其他进程的数据

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public ...

  6. Linux崩溃时启动脚本获取进程相关信息

    编写test.cpp #include <stdlib.h> #include <stdio.h> #include <exception> #include &l ...

  7. C# 获取进程或线程的相关信息

    信息来自: http://blog.163.com/kunkun0921@126/blog/static/169204332201293023432113/ using System; using S ...

  8. 获取进程ID,父进程ID,进程完整路径

    准备写一个进程管理的功能模块,今天下午先写了扫描获取本机各个进程路径,获取各个进程映像名称,进程完整路径. 要获取进程信息,第一步想到的就是提权,提权代码用过多次了,今天也小结了一下(http://w ...

  9. 反射01 Class类的使用、动态加载类、类类型说明、获取类的信息

    0 Java反射机制 反射(Reflection)是 Java 的高级特性之一,是框架实现的基础. 0.1 定义 Java 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对 ...

随机推荐

  1. Junit5中实现参数化测试

    从Junit5开始,对参数化测试支持进行了大幅度的改进和提升.下面我们就一起来详细看看Junit5参数化测试的方法. 部署和依赖 和Junit4相比,Junit5框架更多在向测试平台演进.其核心组成也 ...

  2. Springboot打包执行源码解析

    一.打包 Springboot打包的时候,需要配置一个maven插件[spring-boot-maven-plugin] <build> <plugins> <plugi ...

  3. 转 C# 使用openssl

    //先用大整数来生成一个1024bit的密钥对 RSA rsa = new RSA(); BigNumber number = OpenSSL.Core.Random.Next(10, 10, 1); ...

  4. 7 批量查询mget、批量修改bulk

    注意:当执行多条数据查询.增删改时,一定要用mget.bulk,提升性能,减少网络传输   mget   回顾:查询单个文档 GET /beauties/my/2   mget 查询多个文档: 不同 ...

  5. js json数据保存到本地

    转自:https://www.cnblogs.com/gamedaybyday/p/9906542.html 使用HTML5来实现本地文件读取和写入  (FileReader读取json文件,File ...

  6. 了解Django之前

      什么是web应用? 通俗地讲,就是通过浏览器访问一个网址,该网站从后台调取数据,然后把相应的界面展示给用户这样的一个过程. 什么是HTTP协议? 即超文本传输协议:规定了客户端与服务端消息传输的格 ...

  7. Go strconv模块:字符串和基本数据类型之间转换

    本文转自Golove博客:http://www.cnblogs.com/golove/p/3262925.html ParseBool 将字符串转换为布尔值 // 它接受真值:1, t, T, TRU ...

  8. Laravel5.6---搜索查询 自带paginate()分页 get传参

    laravel的paginate()分页,如果用post传参,点击第二页时会默认使用get,就会返回原始数据了 需要把查询数据get方式也放到paginate()分页参数中 一.路由 Route::g ...

  9. Python学习日记(十) 生成器和迭代器

    使用dir()我们可以知道这个数据类型的内置函数有什么方法: print(dir(int)) print(dir(bool)) print(dir([])) print(dir({})) print( ...

  10. python(字典函数/操作)

    一.字典操作 1.往字典中添加键值对 dict["key"] = "value" stu = {"} stu["sex"] = & ...