Two PIDs
Un părinte și un copil vor să confirme legătura dintre ei: fiecare afișează PID-ul celuilalt. Copilul află PID-ul părintelui folosind getppid(), iar părintele primește PID-ul copilului direct din valoarea returnată de fork().
Fork returnează:
0copilului- PID-ul copilului părintelui
Copilul afișează primul, iar părintele așteaptă cu wait(NULL) înainte să afișeze propriul mesaj. Așa garantăm ordinea liniilor.
Date de intrare
- Fără intrare.
Rezultat
- Prima linie (din copil):
Copil: parintele meu este X - A doua linie (din parinte):
Parinte: copilul meu este Y
Copilul afișează întotdeauna primul, pentru că părintele așteaptă până se termină copilul.
Exemplu
PID-urile diferă la fiecare rulare; important este raportul dintre ele.
Ieșire:
Copil: parintele meu este 42
Parinte: copilul meu este 43
Folosește fork(), getpid(), getppid() din unistd.h și wait(NULL) din sys/wait.h.