Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Java 9 Process API: Principais Melhorias e Novos Recursos

No Java 9, a Process API, responsável por controlar e gerenciar processos do sistema operacional, foi aprimorada consideravelmente. A classe ProcessHandle agora fornece: ID nativo do processo, hora de início, tempo de CPU acumulado, argumentos, comando, usuário, processo pai e descendentes. Também fornece métodos para verificar vivacidade de processos e destruí-los. Tem método onExit, onde CompletableFuture pode executar ação assincronamente quando o processo termina.

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));
    }
}

Saída

Process ID: 5800
Command name: C:\Windows\System32\notepad.exe
Command line: Not Present
Start time: 2017-11-04T21:35:03.626
Arguments: Not Present
User: administrator

A nova Process API torna muito mais fácil inspecionar e gerenciar processos nativos do Java.

Java

  1. Dominando Operadores Java: Tipos, Sintaxe e Exemplos Práticos
  2. Comentários em Java: Tipos, Uso e Boas Práticas
  3. Dominando o Loop for Aprimorado em Java: Sintaxe, Exemplos e Boas Práticas
  4. Dominando Strings em Java: Criação, Métodos e Boas Práticas
  5. Dominando Interfaces em Java: Conceitos, Implementação e Boas Práticas
  6. Dominando Classes Internas Anônimas em Java: Definição, Sintaxe e Exemplos Práticos
  7. Dominando Try-With-Resources em Java: Gerenciamento Automático de Recursos Explicado
  8. Anotações em Java Explicadas: Tipos, Posicionamento e Exemplos Práticos
  9. Asserções em Java: Guia Prático para Detectar Bugs e Garantir Confiabilidade do Código
  10. Java 9 (JDK 9) – Principais Recursos e Benefícios