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







Répondre avec citation




Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.





Partager