exec
Systemanropet som byter ut en process innehåll mot ett annat program — samma process, ny kod.
Där fork() skapar en ny process behåller exec() processen men kastar dess minne, laddar in en ny körbar fil och startar om från dess ingångspunkt. PID:en, öppna filbeskrivare och arbetskatalogen följer med. Lyckas anropet återvänder det aldrig — det finns ingen kod kvar att återvända till.
Kombinationen fork följt av exec är Unix sätt att starta program, och delningen är avsiktlig: mellan de två anropen kan barnet ändra saker som ska gälla för det nya programmet — omdirigera standard ut, sätta miljövariabler, byta användare. Det är precis vad ett skal gör när du skriver ett kommando med > i.