Maison >Java >javaDidacticiel >Comment Java peut-il répertorier efficacement les fenêtres et les processus actifs sur différents systèmes d'exploitation ?
Liste de fenêtres/processus multiplateformes avec Java
Dans le domaine de la programmation Java, récupérer une liste complète des fenêtres ou processus actifs sur une machine locale est une tâche fréquemment rencontrée. Cet article explore une approche efficace pour atteindre cet objectif multiplateforme.
Approche utilisant la commande 'ps'
Pour obtenir une liste de processus sur un système basé sur Linux , on peut exploiter la commande "ps -e". L'extrait de code Java suivant montre comment exécuter cette commande et analyser sa sortie :
try { String line; Process p = Runtime.getRuntime().exec("ps -e"); BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream())); while ((line = input.readLine()) != null) { System.out.println(line); //<-- Parse data here. } input.close(); } catch (Exception err) { err.printStackTrace(); }
Ce code lance la commande "ps -e" et parcourt sa sortie, donnant accès aux informations sur le processus.
Considérations spécifiques à la plate-forme
Dans le cas des systèmes Windows, une approche similaire peut être utilisé, mais la commande utilisée sera différente. La ligne suivante montre comment récupérer la liste des processus sous Windows :
Process p = Runtime.getRuntime().exec(System.getenv("windir") +"\system32\"+"tasklist.exe");
En utilisant les commandes spécifiques à la plate-forme mentionnées ci-dessus, les développeurs Java peuvent obtenir efficacement une liste multiplateforme des fenêtres ou des processus ouverts.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!