Os processos-filhos começam a ser executados assim que você fork (), na verdade eles nem sequer "iniciam", eles apenas continuam no código após a invocação fork (), assim como o pai faz. Apenas o valor de retorno de fork () é diferente. Pai e filho podem sair em qualquer ordem. Então, sim, a mudança de contexto fará com que todos os processos sejam executados aleatoriamente.
Você terá processos zumbis quando um processo filho sair e o pai não "coletar" corretamente o código de saída filho. Os processos zumbis basicamente consistem apenas em códigos de saída ainda a serem recuperados, e toda vez que você vê um, culpe o processo pai por não tomar cuidado. (Os zumbis são um bug nos pais, exceto se os pais tiverem vida curta e não precisarem se cuidar.) Se o pai sair antes do filho, o processo filho será reparado no PID 1, que fará o código de saída. (Ele também limpará todos os zumbis que o processo teve).