Bonjour à tous,
J'étudie sommairement la fonction fork() et les PID (Processus ID) en ce moment.
J'ai le code suivant:
Dans mon code, à quoi correspond la valeur de ma variable "pidf" quand "pidf = fork();"?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 #include <stdio.h> #include <unistd.h> #include <sys/types.h> int main () { pid_t pidf; //Initialisé avec la fonction fork() pid_t pid = getpid(); //Obtenir PID du processus en cours pid_t ppid = getppid(); //Obtenir le processus parent pidf = fork(); //Création du processus enfant if (pidf == 0) { //On est dans le processus enfant printf("Fils - Mon PID est %d\n", pid); printf("Fils - mon PID parent est %d.\n", ppid); } else { //On est dans le processus parent printf("Parent - Mon pid est %d\n", pid); printf("Parent - pidf est %d.\n", pidfils); } return 0 ; }
Dans ma conception de ce code, je pensais que "pidf = fork()" dans le processus parent était égale à "getpid()" dans le processus fils. Sauf que quand j'exécute ce code ce n'est pas le cas, je dois donc me tromper.
Est-ce que quelqu'un peut m'expliquer un petit peu fork() et les PID dans mon cas?
Par avance merci
Florian
Partager