9
janvier
2012
Quelques fonctions bien utiles
janvier
2012
Un article de Kirilenko
Pas de commentaires
Bonjour,
Après avoir introduit la création des processus, je souhaitais vous présenter quelques fonctions qui sont utiles, notamment lors du débogage de votre application.
Je cite :
pid_t getpid(void);
qui retourne le PID du processus courant.
pid_t getppid(void);
qui retourne le PID du processus père du processus courant.
uid_t getuid(void);
qui retourne l’UID (identificateur de l’utilisateur qui a créé le processus) du processus courant.
gid_t getgid(void);
qui retourne le GID (identificateur du groupe auquel appartient l’utilisateur) du processus courant.
Exemple qui résument les fonctions que je viens de vous présenter :
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
int main(void) {
pid_t p;
p = fork();
switch (p) {
case -1:
perror("fork");
break;
case 0:
fprintf(stdout, "I'm father process.\n");
break;
default:
fprintf(stdout, "I'm child process, PID = #%u"
" ; PPID = #%u ; UID = #%u ; GID = #%u\n",
(unsigned)getpid(), (unsigned)getppid(),
(unsigned)getuid(), (unsigned)getgid());
}
return EXIT_SUCCESS;
}
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
int main(void) {
pid_t p;
p = fork();
switch (p) {
case -1:
perror("fork");
break;
case 0:
fprintf(stdout, "I'm father process.\n");
break;
default:
fprintf(stdout, "I'm child process, PID = #%u"
" ; PPID = #%u ; UID = #%u ; GID = #%u\n",
(unsigned)getpid(), (unsigned)getppid(),
(unsigned)getuid(), (unsigned)getgid());
}
return EXIT_SUCCESS;
}
Bon codage !