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

POSIX C Discussion :

terminaison du processus fils


Sujet :

POSIX C

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    avril 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut terminaison du processus fils
    bonjour

    je cherche une fonction systeme pour savoir si un processus fils s'est terminé ou pas encore.
    j'ai essayé waitpid mais je ne sais pourquoi ça marche pas

  2. #2
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : octobre 2004
    Messages : 669
    Points : 976
    Points
    976
    Par défaut
    Ma boule de cristal est chez le garagiste.
    Et si tu nous montrais ton code en attendant ?
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    avril 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    voila je veux

    Liste *maliste=(void*)0;


    void Liste_Process(Liste *liste)
    {

    Liste *cour = liste;
    int i=0;
    // char* liste_vide=0;

    if (liste==0){
    printf("aucun processus n'a été lancé en tache de fond\n");
    }else{

    printf("liste des processus lancés en tache de fond\n");
    printf("PID\t\tCMD\n");
    while (cour!=(void*)0){
    /* test si le processus est encore en cours d'execution**/
    if (waitpid(cour->pid,NULL,WNOHANG)){

    printf("%d\t\t",cour->pid);


    for(i=0;cour->commande[i]!=0;i++){
    printf("%s ",cour->commande[i]);

    }
    }
    printf("\n");
    cour=cour->suivant;
    i=0;
    }

    }
    printf("je sors de la liste");
    }



    la liste je la remplis ailleurs , etListe_Process ne doit imprimer que les processus en cours d'execution.

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    avril 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    ma structur liste contient trois champs

    - nom de la commande
    - le pid du processus qui l'execute
    - suivant :Liste

    typedef struct S_liste Liste;

    struct S_liste {

    char** commande;
    int pid;
    struct S_liste *suivant;

    } ;

Discussions similaires

  1. Tubes et processus fils
    Par Jopzeut dans le forum Linux
    Réponses: 3
    Dernier message: 18/03/2011, 19h03
  2. Tuer les processus fils
    Par soony dans le forum Linux
    Réponses: 4
    Dernier message: 12/12/2006, 14h08
  3. Executer commande dans un processus fils !
    Par jérôme.D dans le forum POSIX
    Réponses: 6
    Dernier message: 23/11/2006, 23h14
  4. Tuer processus fils
    Par lornak dans le forum POSIX
    Réponses: 7
    Dernier message: 29/05/2006, 11h00
  5. Partage d'une variable entre les processus fils
    Par Mehdi Feki dans le forum Linux
    Réponses: 7
    Dernier message: 09/01/2005, 14h34

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