[java] probleme de process
arth
Messages postés
10414
Date d'inscription
Statut
Contributeur
Dernière intervention
-
monaem -
monaem -
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.
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.
A voir également:
- [java] probleme de process
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Process hacker - Télécharger - Divers Utilitaires
- Process explorer - Télécharger - Informations & Diagnostic
- Waptrick java voiture - Télécharger - Jeux vidéo
2 réponses
import java.io.*;
import java.net.*;
public class Ping
{ //int ipAddress=127.0.0.1;
public static void main(String[] args) {
try {
Process p = Runtime.getRuntime().exec("ping www.yahoo.fr");
BufferedReader bos = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
//Le texte de sortie du ping est récupéré ligne par ligne
while ((line = bos.readLine()) != null) {
//Effectue le traitemnet de chaque ligne de texte récupérée ici
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.net.*;
public class Ping
{ //int ipAddress=127.0.0.1;
public static void main(String[] args) {
try {
Process p = Runtime.getRuntime().exec("ping www.yahoo.fr");
BufferedReader bos = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
//Le texte de sortie du ping est récupéré ligne par ligne
while ((line = bos.readLine()) != null) {
//Effectue le traitemnet de chaque ligne de texte récupérée ici
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
public void ping() {
try {
Process p = Runtime.getRuntime().exec("ping " + ipAddress);
BufferedReader bos = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";
//Le texte de sortie du ping est récupéré ligne par ligne
while ((line = bos.readLine()) != null) {
//Effectue le traitemnet de chaque ligne de texte récupérée ici
}
} catch (IOException e) {
e.printStackTrace();
}
}
;-)
HackTrack