Есть такая программа:
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
int main()
{
pid_t pid, ppid, a = 0;
pid_t child_id = fork();
printf("First fork id id:%d\n", (int) child_id);
printf("Second fork id%d\n", child_id = (int)fork());
printf("*PID:%d PPID:%d\n", pid = (int)getpid(), ppid = (int)getppid());
}
Если рассуждать логически, то у нас есть два вызова fork, которые порождают четыре процесса, и три printf. По моей логике при выполнении программы я должен получить 12 строк (4 процесса умножить на 3 printf), но получается только 10 строк.
Помогите разобраться.