Когда вы выполняете разветвление, дочерний и родительский процесс оба работают, и что определяет, действительно ли процесс контролирует ЦП, это переключение контекста вашей ОС между различными процессами.
Когда вы вызываете exec, и он успешно выполняется, все состояние программы очищается, и все, что вы пытались выполнить, будет единственным, что делает процесс.