Distinction père, fils
Grâce à la valeur de retour du
fork
Si la valeur de retour est
0
alors c'est le fils
Si la valeur de retour est
>0
alors c'est le père (la valeur est le pid du fils)
Si la valeur de retour est
<0
alors il y a eu un problème à la création du processus
main()
int pid;
{pid=fork();
if (pid < 0) { /* problème de création */}
else if (pid > 0) {/* c'est le père */}
else {/* c'est le fils (pid ==0) */}
}
La fonction
getpid()
permet à un fils de connaître son propre PID
La fonction
getppid()
permet de connaître le PID de son père.
Tous les processus sont organisés sous forme d'un arbre dont INIT est la racine. Chaque processus a un et un seul père.
suivant
plan