IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

[Linux] Problème de lancement d'un programme externe


Sujet :

API standards et tierces Java

  1. #1
    Membre régulier Avatar de kitsune
    Inscrit en
    Décembre 2004
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2004
    Messages : 341
    Points : 112
    Points
    112
    Par défaut [Linux] Problème de lancement d'un programme externe
    Bonjour,

    J'aimerai lancer un programme externe en java sous Linux j'ai le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    String command = "/home/ubuntu/test";
    try {
          Process p = Runtime.getRuntime().exec("/bin/sh");
          OutputStream in =new BufferedOutputStream(p.getOutputStream()); 
          in.write(command.getBytes());
          in.flush();
    }
    catch(IOException e) { e.printStackTrace(); }
    La compilation ne me donne pas d'erreur mais j'ai rien qui se lance...
    Me manque-t-il quelque chose ?

    Merci

  2. #2
    Membre régulier Avatar de kitsune
    Inscrit en
    Décembre 2004
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2004
    Messages : 341
    Points : 112
    Points
    112
    Par défaut
    En fait l'exécution du programme marche, c'est juste que j'aimerai récupérer le flux de sortie de la commande pour l'afficher.

    J'ai du faire un erreur dans les OutputStream ou dans l'affichage...

    Une idée ?

  3. #3
    Membre expérimenté

    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 1 374
    Points
    1 374
    Par défaut
    J'aimerai bien mais non J'suis po expert des fichiers moué

  4. #4
    Membre régulier Avatar de kitsune
    Inscrit en
    Décembre 2004
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2004
    Messages : 341
    Points : 112
    Points
    112
    Par défaut
    Ben je ne parle pas forcément d'un fichier, la commande peut etre "ls"...

  5. #5
    Membre expert
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Points : 3 135
    Points
    3 135
    Par défaut
    Citation Envoyé par kitsune
    En fait l'exécution du programme marche, c'est juste que j'aimerai récupérer le flux de sortie de la commande pour l'afficher.

    J'ai du faire un erreur dans les OutputStream ou dans l'affichage...

    Une idée ?
    avec et tu n'as pas ce qu'il te faut??

    Sinon pourquoi tu passes par /bin/sh et pas directement par
    Process p = Runtime.getRuntime().exec(commande);

  6. #6
    Membre régulier Avatar de kitsune
    Inscrit en
    Décembre 2004
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2004
    Messages : 341
    Points : 112
    Points
    112
    Par défaut
    Ah oui apparemment la méthode flush() est spécifique des fichiers...

    Et non je n'arrive pas à afficher la sortie de la commande exécutée mais tant pis je vais me contenter du code de retour du process

    merci

  7. #7
    Membre expert
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Points : 3 135
    Points
    3 135
    Par défaut
    Citation Envoyé par kitsune
    Ah oui apparemment la méthode flush() est spécifique des fichiers...

    Et non je n'arrive pas à afficher la sortie de la commande exécutée mais tant pis je vais me contenter du code de retour du process

    merci
    Un code qui marche chez moi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    try {
     
                      Process p = Runtime.getRuntime().exec(commande);
                      BufferedInputStream inputStream =new BufferedInputStream(p.getInputStream());
     
                      BufferedReader entree = new BufferedReader(new InputStreamReader(inputStream));
                      boolean hasNext =true;
     
                      while(hasNext){
                      String value =entree.readLine();
                          System.out.println("Résultat : "+value);
                        if(value == null)
                            hasNext=false;
                    }      
     
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de lancement d'un programme utilisant jinitiator avec ie8
    Par GBAGO dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 26/05/2011, 20h32
  2. Problème au lancement de mon programme
    Par shark1308 dans le forum Général Java
    Réponses: 2
    Dernier message: 30/01/2010, 11h39
  3. Lancement d'un programme externe
    Par nico63 dans le forum Général Python
    Réponses: 11
    Dernier message: 17/06/2009, 14h53
  4. Réponses: 3
    Dernier message: 07/12/2006, 16h13
  5. Lancement d'un programme externe
    Par vinzzzz dans le forum Windows
    Réponses: 1
    Dernier message: 05/05/2006, 14h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo