exec
De systeemaanroep die de inhoud van een proces vervangt door een ander programma: hetzelfde proces, nieuwe code.
Waar fork() een nieuw proces aanmaakt, behoudt exec() het proces maar gooit het geheugen weg, laadt een nieuw uitvoerbaar bestand en begint bij het startpunt. PID, open bestandsdescriptors en werkmap blijven behouden. Bij succes keert de aanroep nooit terug: er is geen code meer om naar terug te keren.
De combinatie fork-en-dan-exec is de Unix-manier om programma's te starten, en de splitsing is bewust: tussen beide aanroepen kan het kindproces dingen aanpassen die voor het nieuwe programma moeten gelden, zoals standaarduitvoer omleiden, omgevingsvariabelen instellen of rechten laten vallen. Precies dat doet een shell bij een commando met >.