In a word: ulimit. the linux kernel allows a limit on the number of child processes, this can be tweaked using the ulimit() system call or the ulimit shell builtin.
ulimit
eg:
ulimit -u 5