Tu możliwe są trzy przypadki: Jeśli wartość zwracana wynosi -1 oznacza to, że proces sprawdzający wartość zwracaną to proces-rodzic, ale nie udało się stworzyć procesu potomnego (dziecka), Jeśli wartość zwracana wynosi 0 oznacza to, że proces sprawdzający wartość zwracaną to proces-dziecko, Jeśli wartość zwracana jest liczbą dodatnią oznacza to, że proces sprawdzający wartość zwracaną to proces-rodzic, którego potomek ma identyfikator PID równy tej właśnie liczbie. Podjęcie dalszych działań w procesie jest uzależnione od wartości wyniku. W treści programu, który uległ rozwidleniu zawarty jest zazwyczaj kod procesu-rodzica jak i procesu potomnego (lecz mogą działać wówczas inne procedury – np. proces-dziecko może być zależne w swoich działaniach od procesu rodzica).

W wielu przypadkach po wywołaniu funkcji fork() następuje szybkie wywołanie funkcji systemowej exec() (uruchamiającej nową aplikację).

Przykład

Fragment przykładowego kodu w C używającego funkcji fork():

switch(fork()) { case -1: //jesteśmy w rodzicu, ale operacja się nie udała break;

case 0: //jesteśmy w dziecku break;

default: //jesteśmy w rodzicu break;

Dyskusja