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

VB.NET Discussion :

[VB.Net] Comment vérifier proprement qu'un processus tourne toujours ?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 285
    Par défaut [VB.Net] Comment vérifier proprement qu'un processus tourne toujours ?
    Bonjour,

    Dans mon application, j'ai une liste de PID stocké dans un fichier qui me permettent à la demande de valider si un processus tourne toujours.

    Pour le savoir, je n'ai trouvé que la méthode Process.GetProcessById qui me lève une exception si le processus ne tourne plus.

    Est-ce qu'il y a un moyen plus propre ?

    Merci !

  2. #2
    Membre Expert
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Par défaut
    dans la clase Process tu as aussi la propriete HasExited.

    @+

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 285
    Par défaut
    Oui mais HasExited est une proprité d'une instance de Process ...

    Moin je veux déjà la récupérer :-) !

  4. #4
    Membre Expert
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Par défaut
    ben tu peux recuperer tout les process puis parcourir la liste pour voir si il y en a un qui a l'id souhaité. Si oui tu le recuperer et la pas de probleme d'exception, sinon tu fais rien.

    @+

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 285
    Par défaut
    Mouais ...

    Bref, y'a pas fraiment de méthode style "
    isProcessExists(PID)

    En fait, c'était pour faire propre style
    if(FileExists()) Then FileOpen ...

  6. #6
    Membre Expert
    Avatar de freddyboy
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2003
    Messages
    810
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2003
    Messages : 810
    Par défaut
    Citation Envoyé par maitrebn
    Mouais ...

    Bref, y'a pas fraiment de méthode style "
    isProcessExists(PID)

    En fait, c'était pour faire propre style
    if(FileExists()) Then FileOpen ...
    ben pas à ma connaissance mais rien ne t'empeche de te la faire toi meme ...

    @+

  7. #7
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 285
    Par défaut
    Ecoute, c'est exactement ce que je viens de faire !!

    Je passe un ID et çà me retourne Vrai ou faux ...

    Pour info, j'ai plusieurs tests, c plus rapide de passer par l'exception ...

    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
     
    Try
                    ' -1- Est-ce qu'un process existe avec le PID
                    vObj_Process = System.Diagnostics.Process.GetProcessById
    (Me.mgInt_IDProcess)
     
                   return true
     
                Catch vExc_ArgumentException As System.ArgumentException
                    'FROM MSDN
                    ' <a href="http://msdn.microsoft.com/library/default.asp" target="_blank">http://msdn.microsoft.com/library/default.asp</a>?
    url=/library/en-
    us/cpref/html/frlrfsystemdiagnosticsprocessclassgetprocessbyidtopic1.asp
     
                    Return False
                End Try

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

Discussions similaires

  1. [VB.NET]Comment Imprimer une form
    Par bernard06 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 19/10/2011, 17h43
  2. Réponses: 4
    Dernier message: 04/04/2011, 20h19
  3. Réponses: 16
    Dernier message: 22/03/2005, 21h57
  4. [vb.net] Comment vider un buffer ?
    Par mdc dans le forum Windows Forms
    Réponses: 4
    Dernier message: 16/12/2003, 15h43
  5. [VB.Net] Comment generer une page html dynamiquement ?
    Par Anonymous dans le forum ASP.NET
    Réponses: 3
    Dernier message: 13/03/2003, 10h22

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