Aus der Manpage von vfork()
:
vfork () unterscheidet sich von fork () dadurch, dass das übergeordnete Element angehalten wird, bis das untergeordnete Element einen Aufruf zum Ausführen von (2) oder _exit (2) ausführt. Das Kind teilt den gesamten Speicher mit seinem Elternteil, einschließlich des Stapels, bis execve () vom Kind ausgegeben wird. Das Kind darf nicht von der aktuellen Funktion zurückkehren oder exit () aufrufen, sondern darf _exit () aufrufen.
Warum sollte das Kind einen verwenden, _exit()
anstatt nur anzurufen exit()
? Ich hoffe, dass dies sowohl für vfork()
als auch gilt fork()
.