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

Langage Java Discussion :

tuer un programme lancé par un exec


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 389
    Par défaut tuer un programme lancé par un exec
    bonjour a tous,
    je voudrai savoir comment faire pour tué un programme lancé par un exec.

    voila le code du lancement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Runtime r = Runtime.getRuntime();
     
    				try {
    					//lancement du test avec un fichier en parametre;)
    					r.exec("cmd /c start ./test/linpack_xeon32.exe ./test/linpack_xeon32.txt" );
    					//System.out.println(r.getRuntime()) ;
    comme vous pouvez le voir, j'ai essayé de recuper l'objet crée par le runtime pour faire un exit dessus, mais, pas moyen, je n'y arrive pas.....



    donc, si vous pouviez m'aider....

    merci d'avance

  2. #2
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 690
    Par défaut
    Ce n'est pas possible car tu lances l'application via "cmd /c start ...".

    Tu lances donc "cmd" qui lances via "start" un nouveau programme. Le processus que tu récupère corespond au cmd et pas à ton application. Si tu essaie de tuer cmd (qui d'ailleurs doit, il me semble se terminer tout seul dès que le "start" a commencé) tu ne tueras pas l'application que le "start" a démarré.

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 389
    Par défaut
    d'accord, donc, comment faire pour le lancé, et que je puisse, le tué ensuite ???

    (merci pour ton aide)

  4. #4
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 690
    Par défaut
    Y a il une raison particulière pour que tu passes par "cmd /c start ..."? Normalement il devrait te suffire de passer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Process process=r.exec(new String[]{"./test/linpack_xeon32.exe", "./test/linpack_xeon32.txt"} )
    Ainsi tu pourras normalement le tuer par process.destroy();

  5. #5
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 389
    Par défaut
    merci, non, je suis passer par la, mais juste car, c'est le seul moyen que j'ai réussi a utilisé

    lors, j'ai tappé ceci (avec process en variable privé, car elle est stoppé dans une autre methode)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    process=r.exec(new String[]{"./test/linpack_xeon32.exe", "./test/linpack_xeon32.txt"} );
    en fait, cette ligne est activé aprés un appuis sur un JButton de mon IHM.
    lorsque j'execute cette ligne ,le nouveau proccess et crée.....
    mais, le soft appeler ne se lance pas. il ce lance une fois mon IHM quitté......


    s'aurai tu d'ou viens le probleme ?

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    as-tu bien pensé à gérer les output et inputstream de ce process?

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

Discussions similaires

  1. [XL-2003] Tuer Process ADOBE lancé par Excel (VBA)
    Par Godzestla dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/08/2012, 12h59
  2. Tuer un processus lancé par un script
    Par lyly_lt dans le forum Tcl/Tk
    Réponses: 2
    Dernier message: 28/12/2010, 11h46
  3. Réponses: 2
    Dernier message: 07/11/2008, 02h37
  4. Tuer un processus lance par system sous perl
    Par gedeon555 dans le forum Langage
    Réponses: 4
    Dernier message: 10/04/2006, 17h11
  5. [Runtime] Detruire un process lancé par exec()
    Par Sebounet19 dans le forum API standards et tierces
    Réponses: 13
    Dernier message: 04/10/2005, 09h17

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