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 :

Programmation des processus


Sujet :

C

  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 42
    Par défaut Programmation des processus
    Bonjour
    Comme je suis débutant dans la programmation des processus en C, j'ai trouvé dans beaucoup de programmes des lignes contenant des pid_t et pid.
    Que veulent dire exactement ?
    Merci d'avance ?

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Sans contexte, pas facile de te répondre.

    PID, cela veut dire Process Identifier, c'est à dire l'identifiant du process, il s'agit d'un nombre.

    Chaque process est identifié et géré par le système par son numéro de process (son PID). Le PID est garantit pour être unique à un instant donné et durant toute la vie du process. Tu peux être sûr que tant que ton process est en vie, aucun autre process n'aura le même PID. Par contre, si ton process vient à mourir, ce nombre peut être réutilisé et réattribué par le noyau. Ce PID est attribué par le système lors de la création du process

    De mémoire, pid_t est le type défini par un fichier include (je ne sais plus lequel) qui permet de stocker le PID d'un process. Je pense (mais cela reste à confirmer) que c'est un int ou un unsigned int.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Citation Envoyé par http://www.opengroup.org/onlinepubs/009695399/basedefs/sys/types.h.html"
    pid_t
    Used for process IDs and process group IDs.
    pid_t shall be signed integer types.
    The implementation shall support one or more programming environments in which the width of pid_t is no greater than the width of type long.

  4. #4
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 42
    Par défaut
    Merci pour votre réponse elle est très enrichissante
    Pour : uid_t et gid_t quels informations vont me donner sur le processus ?

  5. #5
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    uid_t est un nombre qui contient l'identifiant de l'utilisateur (User Identifier) qui fait tourner le process.

    gid_t est aussi un nombre qui contient l'identifiant du groupe d'utilisateurs (Group Identifier) qui fait tourner le process

    PS, on va pas passer tous les types 1 par 1 (il y en a quand même beaucoup), tu dois pouvoir les trouver avec
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  6. #6
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 42
    Par défaut
    Bonjour
    J'ai écris un programme en C qui me permet d'afficher le PID et l'état d'un processus, après l'execution de ce programme, un numéro et deux lettres (la lettre S et la lettre R) se sont affichées.
    à quoi correspondent ces informations ?
    Merci d'avance.

  7. #7
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Je ne sais pas d'où viennent ces 2 lettres mais cela peut représenter le status du process (Running, Sleeping). Il y a probablement d'autres status.

    Quel appel tu utilises pour récupérer la liste des process ?
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  8. #8
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 42
    Par défaut
    Voici le programme que j'ai écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #include<unistd.h>
     #include<stdio.h>
     #include<stdlib.h>
     char etat1[1024];
     main()
     {
     pid_t pid_p;    
     pid_p=getpid();  
     printf("pere: je suis le processus pere mon pid=%d\n",getpid()); 
     sleep(1);
     sprintf(etat1,"ps -o s -p%d",pid_p);
     system(etat1); 
    }

  9. #9
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015

Discussions similaires

  1. Réponses: 0
    Dernier message: 22/11/2010, 11h08
  2. Réponses: 2
    Dernier message: 29/03/2007, 17h43
  3. [langage] fonctionnement des Processus
    Par GMI3 dans le forum Langage
    Réponses: 3
    Dernier message: 19/09/2003, 11h12
  4. Réponses: 2
    Dernier message: 04/10/2002, 09h13
  5. Programmer des threads
    Par haypo dans le forum C
    Réponses: 6
    Dernier message: 02/07/2002, 13h53

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