Ze strony podręcznika użytkownika vfork()
:
vfork () różni się od fork () tym, że rodzic jest zawieszony, dopóki dziecko nie wykona wywołania execve (2) lub _exit (2). Dziecko dzieli całą pamięć ze swoim rodzicem, w tym stos, dopóki funkcja execve () nie zostanie wydana przez dziecko. Dziecko nie może powrócić z bieżącej funkcji lub wywołać exit (), ale może wywołać _exit ().
Dlaczego dziecko powinno _exit()
zamiast dzwonić exit()
? Mam nadzieję, że dotyczy to zarówno vfork()
i fork()
.