Commande linux

Résolu
Signaler
Messages postés
118
Date d'inscription
lundi 6 novembre 2000
Statut
Membre
Dernière intervention
12 mai 2010
-
Messages postés
118
Date d'inscription
lundi 6 novembre 2000
Statut
Membre
Dernière intervention
12 mai 2010
-
Bonsoir à tous,

J'essai de récupérer le statut du serveur Apache depuis un programme java. J'execute une commande shell et je souhaiterai en afficher le résultat, mais je n'y arrive pas, je ne récupère qu'un id de process.
Voici mon code :

String command = "/etc/init.d/apache2 status";
Runtime runtime = Runtime.getRuntime();
Process process = null;

try
{
process = runtime.exec(command);
System.out.println(process.getInputStream());
} catch(Exception err) {;}
}

J'ai essayer avec d'autres commandes, qui fonctionnent très bien dans un terminal...
Faut-il faire autrement ?
Merci par avance

3 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
Salut,

Forcément, tu ne récupère que l'inputstream de ton processus, et non pas le contenu !

Essaye ceci :
public class MainClass {
  public static void main(String[] args) throws Exception{
    String command = "/etc/init.d/apache2 status"; 
    Runtime runtime = Runtime.getRuntime(); 
    Process process = null; 
    Runtime r = Runtime.getRuntime();
    
try 
{ 
    process = runtime.exec(command); 
    BufferedReader is = new BufferedReader(new InputStreamReader(process.getInputStream()));
    String line;
    while ((line = is.readLine()) != null)
      System.out.println(line);
} catch(Exception err) {
  err.printStackTrace(); // ca fait pas de mal de savoir quand une erreur se déclenche !
} 

}


______________________________________
DarK Sidious
Messages postés
118
Date d'inscription
lundi 6 novembre 2000
Statut
Membre
Dernière intervention
12 mai 2010

Merci beaucoup, je vais essayé ça dans la journée, je te tiens au courant, et effectivement, je comprend mieux mon erreur !!!
Messages postés
118
Date d'inscription
lundi 6 novembre 2000
Statut
Membre
Dernière intervention
12 mai 2010

ca marche nickel, merci bien ! ;)