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 :

[Process] Gestion des flux


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Par défaut [Process] Gestion des flux
    Note de modération : discussion découpé depuis le sujet suivant : Comment connaître l'ID de mon processus Java ?

    Citation Envoyé par adiGuba
    Pourquoi rediriger vers un fichier ? Lorsque tu lances une commande système tu récupères les flux stdout et stderr directement dans ton application Java (voir la classe Process).

    a++
    bonjour

    Je trouve ton affirmation intéressante pour moi, et j'aurais besoin de récuperer les flux stdout et stderr directement dans mon application mais je ne sais pas comment.

    voici les instructions java pour lancer mon script shell

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    String[] cmd = new String[4];
    cmd[0] = "/bin/csh";
    cmd[1] = "/usr/apache-tomcat-5.5.17/toto.csh ";
    cmd[2] = "argument_1";
    cmd[3] = "| tee fichier.log";
     
    Runtime rt = Runtime.getRuntime();
    Process proc = rt.exec(cmd);

  2. #2
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Est-ce que tu as au moins essayer de regarder les méthodes de la classe Process ????

    Tu aurais vu les méthodes getErrorStream(), getInputStream() et getOutputStream().

    Vous pouvez tout de même chercher un miinimum par vous-même. Surtout qu'adiguba t'avait même donné le lien vers la classe en question...

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Par défaut
    Citation Envoyé par wichtounet
    Est-ce que tu as au moins essayer de regarder les méthodes de la classe Process ????

    Tu aurais vu les méthodes getErrorStream(), getInputStream() et getOutputStream().

    Vous pouvez tout de même chercher un miinimum par vous-même. Surtout qu'adiguba t'avait même donné le lien vers la classe en question...
    oui je fais partout des recherches et je n'arrive pas. as tu un exemple en java ?

    Qu'est ce que la méthode waitfor fait au juste ?

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Runtime permet de lancer un programme et non pas une ligne de commande !!!!

    Un peu de lecture : Runtime.exec() n'est pas des plus simple... (a noter la présence d'une API facilitant l'appel de ligne de commande système).

    a++

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 496
    Par défaut
    Citation Envoyé par adiGuba
    Salut,


    Runtime permet de lancer un programme et non pas une ligne de commande !!!!

    Un peu de lecture : Runtime.exec() n'est pas des plus simple... (a noter la présence d'une API facilitant l'appel de ligne de commande système).

    a++
    et est-ce que un script shell est considéré comme quoi ?

    j'ai déjà lu le lien ci-dessous, et je suis en train de le relire.

    apparament mon File System est plein. comment je dois faire pour vérifier ceci et le vider ?

    si mon script n'est pas considéré comme un programme, qu'est ce que je dois alors utiliser comme commande pour le lancer à partir de l'application java ?

    mais j'ai un autre petit script que j'ai pu lancer en utilisant Runtime.exec. mais maintenant lui aussi il ne marche plus. hier il marchait, mais plus maintenant. je ne comprends plus rien. il me semble qu'il faut gérer les process et le stderr

  6. #6
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par diamonds
    et est-ce que un script shell est considéré comme quoi ?
    Un programme.
    Mais la manière dont tu le lance (avec un pipe pour rediriger son flux) correspond à une ligne de commande. Or cela ne sera pas interprété (le | sera passé en paramètre à ton script.

    Citation Envoyé par diamonds
    apparament mon File System est plein. comment je dois faire pour vérifier ceci et le vider ?
    Il faut soit le lire, soit le fermer (si tu ne veux pas récupérer la sortie).

    Citation Envoyé par diamonds
    mais j'ai un autre petit script que j'ai pu lancer en utilisant Runtime.exec. mais maintenant lui aussi il ne marche plus. hier il marchait, mais plus maintenant. je ne comprends plus rien. il me semble qu'il faut gérer les process et le stderr
    Est-ce que tu traites les flux d'entrée/sorties ? Si oui comment ? Et pourrait-on voir ton code ?


    a++

Discussions similaires

  1. Gestion des flux avec une Socket
    Par LittleBean dans le forum Langage
    Réponses: 6
    Dernier message: 24/05/2011, 17h47
  2. gestion des flux
    Par vamos dans le forum Développement
    Réponses: 4
    Dernier message: 19/04/2010, 07h10
  3. Gestion des flux
    Par DooSquare dans le forum Sécurité
    Réponses: 0
    Dernier message: 29/07/2008, 07h30
  4. Gestion des flux de matières dans 1 atelier
    Par ptit_bleu dans le forum Schéma
    Réponses: 4
    Dernier message: 23/02/2007, 09h55
  5. Gestion des flux de données
    Par pdiaz dans le forum Oracle
    Réponses: 2
    Dernier message: 10/01/2007, 16h30

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