De la página del manual de vfork():
vfork () difiere de fork () en que el padre está suspendido hasta que el niño hace una llamada a execve (2) o _exit (2). El hijo comparte toda la memoria con su padre, incluida la pila, hasta que el hijo emita execve (). El hijo no debe regresar de la función actual o de la llamada a exit (), pero puede llamar a _exit ().
¿Por qué el niño debe usar un en _exit()lugar de simplemente llamar exit()? Espero que esto sea aplicable a ambos vfork()y fork().