Итак, я пытаюсь понять процесс форкирования и в следующей программе. У меня есть глобальное целое число, которое обрабатывается как родительским, так и дочерним процессами.Попытка понять разветвление и отношения между родительским и дочерним процессом
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <cstdlib>
using namespace std;
int global = 0;
int main()
{
int fork_return;
fork_return = fork();
if(fork_return == 0)
{
global++;
printf("Global value in child is: %d \n", global);
}
else
{
global--;
printf("Global value in parent is: %d \n", global);
}
return 0;
}
Внутри дочернего процесса, глобальная 1
Внутри родительского процесса, глобальный -1
Мой вопрос: Каким образом мы имеем глобальную переменную и то, что происходит с ребенком в основном скрыты от родителя и наоборот?
Мое понимание: то, что происходит в ребенке, скрыто от родителя и наоборот.
Почему это поведение?
Это разные процессы. –