Comment récupérer les Pid de tous les Processus Qui tourne dans le PC

controlleur Messages postés 65 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 16 avril 2013 - 14 févr. 2012 à 15:47
 Utilisateur anonyme - 26 févr. 2012 à 19:00
Bonjour

j'ai utilisé la classe "Class ProcState" cette classe me permet juste de récupérer que le PID du programme qui en train de tourner , puisque je travail sous Eclipse il me retourne le PID de Eclipse .

moi dans mon application je voudrai récupérer tous les PIDs des Processus pour que je puisse afficher leur pourcentage d'utilisation du CPU

Merci
d'avance

7 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
14 févr. 2012 à 16:21
Bonjour,

Java n'est pas un langage système. Tu ne peux pas accéder directement aux informations de ton OS en java. Pour accéder à ces informations, tu peux lancer une commande shell (sous unix ou linux) ou une commande dos (sous windows) grâce à la classe Runtine.

Sous linux : commande ps et sous windows : commande TASKLIST.
0
controlleur Messages postés 65 Date d'inscription mercredi 27 janvier 2010 Statut Membre Dernière intervention 16 avril 2013
14 févr. 2012 à 16:27
Merci Julien pour ta réponse .
on faite le résultat que j'ai trouvé c'est en utilisant un Shell : voici la partie de mon code
mais par contre je n'ai aucun idée comment utilisé la commande TASKLIST avec mon petit programme
Merci d'avance .





long[] pids = Shell.getPids(sigar1,args);

for (int i1=0; i1<pids.length; i1++)
{
System.out.println("pids \t : "+pids[i1]);
long pid = pids[i1];

String cpuPerc = "?";
List info = Ps.getInfo(sigar1, pid);
try {
ProcCpu cpu = sigar1.getProcCpu(pid);
Cpu cpu1= sigar.getCpu();
cpuPerc = CpuPerc.format(cpu.getPercent());

} catch (SigarException e) {
}
//System.out.println("i="+i);
info.add(info.size()-1, cpuPerc);

System.out.println("\t\t\t\t\t\t\t\t\t\t\t\t "+Ps.join(info));
}

Thread.sleep(SLEEP_TIME);
SigarProxyCache.clear(sigar1);
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
14 févr. 2012 à 18:35
Je ne connais pas la classe Shell, c'est toi qui l'a créée ? Elle est dans le jre ? Ca m'étonnerais.

Et alors, quel est ton problème maintenant ?
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
14 févr. 2012 à 18:36
Tu es sous linux ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
18 févr. 2012 à 15:49
J'ai l'impression que tu es sous Linux, donc c'est normal que tu ne puisses pas utiliser la commande TASKLIST.

--
Pylouq
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
19 févr. 2012 à 18:39
Faute de réponse, on ne peut pas vraiment avancer ...
0
Utilisateur anonyme
26 févr. 2012 à 19:00
Je suis du même avis. D'autant plus que je cherche ce genre de classes Java capables d'exécuter des commandes UNIX (du genre appels de programmes externes avec une ligne de commande plus pou moins digeste). Je n'ai pas encore trouvé ça sur le forum pour l'instant, ça ne serait pas impossible que je poste un sujet dans quelques jours^^


--
Pylouq
0
Rejoignez-nous