Não.
O processo filho se encontrará exatamente no mesmo ponto no código que o pai no momento do fork()
. A única diferença no estado de pai e filho é o valor de retorno da chamada fork()
, atribuído a k
em seu código (isso manterá o PID do filho no processo pai e será zero na processo filho). Se o fork()
acontecer, nem o pai nem o filho alcançarão a instrução printf()
.
A maneira usual de fazer um fork()
é
pid_t pid;
pid = fork()
if (pid == 0) {
/* child process code */
/* including exit() */
} else {
/* parent process code */
/* including waitpid() or wait() */
}