Bonjour les gens
voila j'ai un problème sur un code java dans lequel je crée un nouveau processus qui lance une commande ping faite a la main. Voici ce que ca donne :
import java.io.*;
import java.net.*;
public class Ping
{
public static void main(String[] args) {
try {
int i=0;
Process p = null;
Runtime rt = Runtime.getRuntime();
p = rt.exec("C:\\utilPing\\pingoo.exe");
...............
System.out.println(p);
}catch (Exception e) {
e.printStackTrace();
}
}
}
Ici le programme pingoo retourne la valeur 0 si l'hôte est présent, 1 sinon. Le problème c'est que je voudrais récupérer la valeur retourner par mon programme pingoo, j'ai bien essayé de placer le "i=p.exitValue();" mais j'ai remarqué que cela n'attend pas la fin de ce programme annexe pingoo, et ca génère une exception.
J'ai aussi tenté le p.wait(); et le p.waitFor(); mais cela me bloque alors le programme java qui continue de tourner au lieu de se stopper.
Si quelqu'un a une solution pour attendre que le processus soit fini et que je puisse récupérer ma valeur de retour, ou même juste une piste, celle-ci sera la bienvenue.
Merci d'avance.
