Это вопрос недавнего вступительного экзамена GATE.
Процесс выполняет код
fork();
fork();
fork();
Общее число созданных дочерних процессов
(A) 3. (B) 4. (C) 7. (D) 8.
Мой ответ был (A) 3.
На мой взгляд, после каждого fork () будет создан 1 дочерний процесс, и выполнение parent будет продолжаться в обычном режиме.
Ненадежный ответ (без каких-либо объяснений) от коучинговых институтов был (C) 7.
Я думаю, они считают, что каждая ветвь создаст дочерний процесс и новыйродительский процесс.И они также считают весь родительский процесс. [Мне не разрешено публиковать изображения, но мой друг объяснил на диаграмме дерево с каждым левым узлом в двух узлах.Поэтому 4 родительских узла слева и 3 дочерних узла справа.] Но в Вопросе четко упоминается только дочерний процесс.И также я не думаю, что родительский процесс заново создан в разветвлении.
Может кто-нибудь объяснить некоторые основы разветвления и правильное решение вышеуказанного вопроса, пожалуйста.
PS Если язык программирования имеет какое-либо значение в понятии разветвления, то, согласно программе, это должно быть либо Cили C ++ программа.