fork()
создает новый процесс, и дочерний процесс начинает выполняться из текущего состояния родительского процесса.
Это то, что я знаю о fork()
в Linux.
Итак, соответственно следующий код:
int main() {
printf("Hi");
fork();
return 0;
}
требуется распечатать "Привет" только один раз, как указано выше.
Но при выполнении вышеописанного в Linux, выполнив gcc, он печатает "Привет" дважды.
Может кто-нибудь объяснить мне, что происходит на самом деле при использовании fork()
, и если я правильно понял работу fork()
?