Fork hace que un proceso se divida en dos. Prueba este programa de C y verás cómo funciona: main(){while(fork());}
Ejecútalo mientras haces un watch -n 1 "ps axu | wc -l" o algo así para contar procesos, verás como crecen sin parar hasta que lo canceles, se cuelgue, o llegue al límite marcado por la cuota de procesos (un buen sistema lo tendría que tener así, con cuotas). Si das shell a alguien vigila que no te haga esto...