API Process améliorée de Java 9
Avant Java 9, l'API Process manquait encore d'une prise en charge de base pour l'utilisation de processus natifs, comme l'obtention du PID et du propriétaire d'un processus, l'heure de début du processus, la quantité de temps CPU utilisée par le processus, le nombre de processus natifs en cours d'exécution, etc.
Java 9 a ajouté une interface nommée ProcessHandle à l'API Process pour améliorer la classe java.lang.Process.
Une instance de l'interface ProcessHandle identifie un processus natif, permettant d'interroger l'état du processus et de gérer le processus.
L'interface imbriquée Info de ProcessHandle aide les développeurs à échapper au dilemme de devoir utiliser du code natif pour obtenir le PID d'un processus local.
Nous ne pouvons pas fournir d'implémentations de méthodes dans les interfaces. Si nous voulons fournir une combinaison de méthodes abstraites et non abstraites (méthodes avec implémentations), nous devons alors utiliser des classes abstraites.
La méthode onExit() déclarée dans l'interface ProcessHandle peut être utilisée pour déclencher certaines actions lorsqu'un processus se termine.
Exemple
La sortie de l'exemple ci-dessus est :
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: administratorAutres extensions
Nouveautés de Java 9