Теперь у меня возникла проблема в понимании работы системного вызова fork()
.
Я пишу следующий код:
#include<stdio.h>
int main()
{
int a, b;
b=fork();
printf("\n the value of b = %d",b);
}
Результат этого кода следующий:
Теперь я не понимаю, почему вывод такой:
После этого я просто добавляю строку в свой код, и вывод полностью отличается. мой код следующий:
int main()
{
int a, b;
b=fork();
Когда я запускаю код, следующий вывод 2389my имя manish
the value of b = 0
Теперь я полностью запутался в работе вызова fork()
.
Мой вопрос следующий:
- Как работает
fork()
? - Где элемент управления идет после вызова
fork()
? - Может ли какой-либо орган объяснить, почему вывод кодов, написанных в проблеме?
- Почему вывод
b
, встречающийся в разных местах, означает в первом коде выводb = 2260
находится непосредственно перед выходомb = 0
, а значениеb = 2389
находится не только передb = 0
?
Пожалуйста, объясните мне работу вилки в коде, написанном в проблеме, чтобы я мог его изучить.