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

wxWidgets Discussion :

Recuperer le pid d'un process avec wxwidget


Sujet :

wxWidgets

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 67
    Par défaut Recuperer le pid d'un process avec wxwidget
    Bonjour

    je suis actuellement en train de coder un petit programme , dans ce programme je lance une commande a l'aide de wxShell(macommandeamoi) je cherche a recuperer le pid de cette fameuse commandeamoi lancé par wxShell

    comment puis-je faire ?

    d'avance merci

  2. #2
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Avec wxShell ça va pas être simple. Utilise wxExecute en mode asynchrone ça reviendra au même et tu pourra récupérer le pid.

    http://www.wxwindows.org/manuals/2.6...html#wxexecute

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 67
    Par défaut
    J'ai essayé avec ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    long pid=wxExecute(macommandeamoi);
    lorsque je cherche a recuperer le pid , il me donne en réalité le pid de mon application et non celui de macommandeamoi , donc quande je cherche a tuer ce fameux pid il tue mon application entiere au lieu de tuer la coimmande lancé par wxExecute

  4. #4
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Est ce que tu as lu ceci :

    Under Unix the flag wxEXEC_MAKE_GROUP_LEADER may be used to ensure that the new process is a group leader (this will create a new session if needed). Calling wxKill passing wxKILL_CHILDREN will kill this process as well as all of its children (except those which have started their own session).

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 67
    Par défaut
    bon j'ai essayer ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    pid= wxExecute(cmd,wxEXEC_MAKE_GROUP_LEADER);
     
     
     
        if ( wxProcess::Exists(pid))
                wxLogStatus(_T("Process %ld is running."), pid);
            else
                wxLogStatus(_T("No process with pid = %ld."), pid);
     
     
    }
    me renvoie toujours pas le bon pid ( j'ai vérifier avec la commande ps axl )
    par exemple le pid renvoyer par mon application est 17710 , en réalité avec ps axl le pid de ma commande est 17711

  6. #6
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Je viens de regarder l'exemple qu'il donnent avec la distrib et pour faire ce que tu fais, il effectue ceci :

    wxProcess *process = new MyProcess(this, cmd);
    m_pidLast = wxExecute(cmd, wxEXEC_ASYNC, process);
    Si tu n'as pas ce fichier, je te l'ai mis en fichier joint.

Discussions similaires

  1. [C] pid d'un process lancé avec system(..);
    Par waldoun dans le forum Linux
    Réponses: 5
    Dernier message: 07/05/2007, 18h06
  2. Connaitre PID d'un process lancé avec exec()
    Par hugo123 dans le forum Langage
    Réponses: 4
    Dernier message: 02/06/2006, 14h28
  3. Coment faire du post-processing avec Dx9 ?
    Par rolkA dans le forum DirectX
    Réponses: 23
    Dernier message: 24/11/2003, 21h15
  4. Réponses: 4
    Dernier message: 01/07/2003, 15h47
  5. [VB6] [Réseau] Récupérer la taille d'un fichier avec inet
    Par pcpunch dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 20/02/2003, 21h38

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