Dalla pagina man di vfork()
:
vfork () differisce da fork () in quanto il genitore è sospeso fino a quando il figlio non effettua una chiamata per eseguire (2) o _exit (2). Il figlio condivide tutta la memoria con il suo genitore, incluso lo stack, fino a quando execve () viene emesso dal figlio. Il bambino non deve tornare dalla funzione corrente o chiamare exit (), ma può chiamare _exit ().
Perché il bambino dovrebbe usare un _exit()
piuttosto che semplicemente chiamare exit()
? Spero che questo sia applicabile a entrambi vfork()
e fork()
.