fork () создает дочерний процесс.
Но какой процесс (среди родительского и новорожденного ребенка) получает срез ЦП, не определено.Когда оба процесса заблокированы для ввода с клавиатуры, дочерний или родительский может получить ввод.Если родитель получает токен, он считывает входные данные в свою переменную, определенную в его адресном пространстве, и завершает работу.И ребенок никогда не получит шанс прочитать из ввода.И этот потерянный дочерний процесс будет затем принят корневым процессом (pid = 1).См. ps
output.
И в другом случае, когда дочерний элемент получает токен, читает данные и выходит, родительский элемент все еще жив и, следовательно, блокирует для ввода снова.