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

C Discussion :

comment vérifier si un process est déjà lancé


Sujet :

C

  1. #1
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 41
    Points : 40
    Points
    40
    Par défaut comment vérifier si un process est déjà lancé
    Bonjour,

    Dans mon programme écrit en C sous linux, j'ai besoin de vérifier si un process dont je connais le nom tourne déjà. Je n'ai rien trouvé comme API utils pour cela dans la lib C, il faut que je vérifie dans le répertoire /proc/ ?
    Y a-t-il d'autres solutions?

    Merci!

  2. #2
    Membre expérimenté
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Points : 1 381
    Points
    1 381
    Par défaut
    Si tu as programmé le programme que tu cherches, tu peux lui faire placer un flag pour savoir s'il tourne déja. Si tu n'as pas accès au code source, peut-être qu'une analyse de la commande ps -A | grep nom_du_programme peut résoudre ton problème ! Je ne connais pas de fonction permettant de récupérer un programme par son nom

  3. #3
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 41
    Points : 40
    Points
    40
    Par défaut
    merci bien pour ta réponse!
    En fait j'ai vu que en bash script y a plusieurs façons de faire, mais le problème est que mon programme est écrit en C. Y a moyen de récuperer facilement les résultats des commande bash dans mon programme C?

  4. #4
    Membre expérimenté
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Points : 1 381
    Points
    1 381
    Par défaut
    Vois du côté de popen et de la commande system

  5. #5
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 41
    Points : 40
    Points
    40
    Par défaut
    Merci!

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 916
    Points
    17 916
    Billets dans le blog
    2
    Par défaut
    sous linux, il y a les commandes ps , grep, awk....

    Tu peux donc te faire une commande :

    commande = "ps -e | grep nom_du_processus"

    et là tu appelles ça avec la fonction system (en C).

    Maintenant, tu peux (je ne suis pas sur Linux en ce moment donc je ne peux tester) : si le grep quand ça n'exste pas te mets une erreur, tu l'aura dans le statu de retour de la commande system. Sinon, tu fait sortir dans un fichier temporaire ("ps -e | grep nom_du_processus > montempo") et tu regardes si le fichier tempo est vide ou non (si oui pas de processus, sinon il est déjà lancé) et tu détruis le fchier tempo..

Discussions similaires

  1. Comment vérifier si un nom est deposé?
    Par inddzen dans le forum Juridique
    Réponses: 19
    Dernier message: 09/01/2007, 22h50
  2. Comment savoir si l'appli est déjà lancée?
    Par ®om dans le forum Général Java
    Réponses: 12
    Dernier message: 10/10/2006, 13h17
  3. Comment vérifier qu'un TServerSocket est connecté?
    Par Matt2094 dans le forum Web & réseau
    Réponses: 13
    Dernier message: 29/04/2006, 08h28
  4. Comment vérifier si un activeX est déjà lancé?
    Par mr.saucisse dans le forum MFC
    Réponses: 12
    Dernier message: 22/03/2006, 10h39
  5. Comment vérifier qu'une date est nulle
    Par stressy dans le forum Access
    Réponses: 7
    Dernier message: 09/12/2005, 15h41

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