Как именно работает fork ()?
Следующий код
#include <stdio.h>
int main (int argc, char const *argv[])
{
printf("Hi\n");
int i;
for(i = 1; i < argc; i++)
{
printf("Argument %d is %s\n", i, argv[i]);
fork();
printf("Forked in for loop increment %d\n", i);
}
return 0;
}
дает следующий результат
/a.out hello world
Аргумент 1: hello
Разветвленный для приращения цикла 1
Аргумент 2 - это мир
Разветвленный для приращения цикла 2
Разветвленный для приращения цикла 1
Аргумент 2 - это мир
Разветвленный для приращения цикла 2
Разветвленный цикл для приращения 2
В общем, какой код fork выполняется первым. Я хотел бы знать принципы работы fork (), а не только на этом одном примере. Я мог бы иметь несколько аргументов для в командной строке.