去哪里找做网站的人,辽宁建设工程信息网怎么入库,长沙景点介绍,网站登录按钮怎么做Java 9对Process API进行了各种改进#xff0c;用于控制和管理操作系统进程。 获取有关流程的信息 有一个新的ProcessHandle类#xff0c;提供了进程的pid#xff0c;父级和后代#xff0c;以及有关开始时间和累积CPU时间的信息。 jshell Process p new ProcessBui… Java 9对Process API进行了各种改进用于控制和管理操作系统进程。 获取有关流程的信息 有一个新的ProcessHandle类提供了进程的pid父级和后代以及有关开始时间和累积CPU时间的信息。 jshell Process p new ProcessBuilder(stress, --cpu, 4, --timeout, 5).start();
p Process[pid5572, exitValuenot exited]jshell p.pid()
$2 5572jshell p.info().user()
$3 Optional[fahd]jshell p.info().command()
$4 Optional[/usr/bin/stress]jshell p.info().commandLine()
$5 Optional[/usr/bin/stress --cpu 4 --timeout 120]jshell Arrays.toString(p.info().arguments().get())
$6 [--cpu, 4, --timeout, 120]jshell p.info().startInstant()
$7 Optional[2018-02-25T16:38:56.742Z]jshell p.info().totalCpuDuration().get().toMillis()
$8 0 奇怪的是无论我运行什么命令 totalCpuDuration始终返回0持续时间字符串为“ PT0S”。 请注意在上面的示例中我正在调用Linux stress命令。 这是在系统上施加某种压力例如创建cpu负载的有用工具。 列出所有正在运行的进程 静态ProcessHandle.allProcesses()方法返回当前进程可见的所有进程的流。 ProcessHandle.allProcesses().map(ProcessHandle::info).map(ProcessHandle.Info::commandLine).flatMap(Optional::stream).forEach(System.out::println) 进程退出时触发功能 当进程终止时可以使用Process.onExit方法调度功能。 此方法返回CompletableFuture 其中包含可以调用以调度函数的多种方法。 这是一个例子 Process proc new ProcessBuilder(sleep, 10).start();
proc.onExit().thenAccept(p - System.out.println(Process p.pid() exited with p.exitValue())); 另外要等待进程终止可以调用Process.onExit().get() 。 翻译自: https://www.javacodegeeks.com/2018/02/java-9-enhancements-process-api.html