Если вызов fork() выполнен успешно, Unix будет сделать две идентичные копии адресных пространств, одну для родителя, а другую для дочернего. Оба процесса начнут свое выполнение в следующем заявлении после вызова fork(). [Ref: http://www.csl.mtu.edu/cs4411.ck/www/NOTES/process/fork/create.html].Понятия на системный вызов fork()
Так что, если я выполнить следующий код:
#include <stdio.h>
int main(void)
{
printf("Hello\n");
fork();
printf("World\n");
return 0;
}
Я думаю, что он будет печатать
Hello
World
World
Но когда я запускаю программу печатает
Hello
World
Hello
World
Пожалуйста, объясните, где мне не хватает концепции?
Странно, я получаю ожидаемый выход. Hello Мир Мир – Rusty
Я думаю, что если вы используете printf(), вы не можете «Hello World World» o/p.корректировать меня, если я ошибаюсь. – Hailey
У вас будет «Hello World World» в качестве вывода, я просто скопировал и скомпилировал код, и получил то же самое, и это то, чего я ожидал. – Rusty