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 :

Fermer le processus d'un exe


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de haco28
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 64
    Par défaut Fermer le processus d'un exe
    Bonjour tout le monde !
    Voila je voudrais savoir si on peut fermer un programme de type exe en java
    j'execute l'exe de cette facon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Runtime rt = Runtime.getRuntime();
    Process proc = rt.exec("generate.exe");
    comment le fermer apres la fin de son execution ?
    parce que en fait cet exe genere des fichiers mais apres dans mon appli je dois les supprimer. Seulement comme l'exe tourne encore derriere je ne peut les supprimer.

    Comment faire ?

    Merci

  2. #2
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    En regardant la documentation de la classe Process tu aurais vu que celle-ci possède une méthode destroy().
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  3. #3
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Par défaut
    J'ai déjà eu ce problème et je ne suis pas certain que cette méthode permette de tuer l'application.

    Quand on lance un programme exe externe depuis une application java, ce process se "détache" et on ne peux plus l'arrêter directement depuis l'application qui l'a lancé.

    La meilleure façon de faire, c'est de passer par JNI et une librairie système pour créer ce processus en notant en même temps son numéro de process (PID). Ensuite, pour le tuer on invoque une méthode "kill" sur ce numéro de process (il existe un équivalent sous Windows).
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  4. #4
    Membre averti Avatar de haco28
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 64
    Par défaut
    merci pour vos reponse jvais voir ce qu'il ya au niveau de la doc.
    Sinon ya aussi une methode halte() : qu'est-ce qu'elle fait exactement cette methode ?

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Par défaut
    Bonjour

    Pour attendre la fin du process, tu peux utiliser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Runtime rt = Runtime.getRuntime();
    Process proc = rt.exec("generate.exe");
    //lecture des stream out et err via des threads
     
    int ret=proc.waitFor();
    // exploit du code retour
    cdlt

  6. #6
    Membre actif

    Profil pro
    Enseignant
    Inscrit en
    Novembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 32
    Par défaut
    Si vous êtes sous windows, vous pouvez essaier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    taskkill /F /IM monProcessus.exe
    taskkill est plus puissante, vous pouvez voir l'aide


Discussions similaires

  1. fermer le processus EXCEL.EXE
    Par bakman dans le forum VBScript
    Réponses: 3
    Dernier message: 26/11/2009, 13h43
  2. fermer un processus Excel
    Par sophiesallee dans le forum VBA Access
    Réponses: 6
    Dernier message: 03/10/2007, 11h42
  3. Fermer un processus en C#
    Par hugobosscool26 dans le forum C#
    Réponses: 7
    Dernier message: 11/06/2007, 21h47
  4. comment fermer le processus excel sous iis
    Par dietrich dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 16/01/2007, 14h32

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