У меня есть немой вопрос, рассматривающий учебник по операционной системе. Вопрос ниже:
Предположим, что все системные вызовы fork успешны. После выполнения программы, показанной ниже. Сколько строк на экране?
Я предполагаю, что каждый вызов fork удваивает процессы, поэтому результат должен состоять из 16 процессов. Но когда я набираю тот же код из учебника, у меня есть 30 строк. Вот результат и код:
http://imgur.com/zrdOP0XСколько процессов создано после четырех fork() в Linux?
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(){
fork();
printf("After fork1\n");
fork();
printf("After fork2\n");
fork();
printf("After fork3\n");
fork();
printf("After fork4\n");
}
Разветвляющихся вилки вилок. –
Что такое 2 + 4 + 8 + 16? – Peter