2017-01-07 13 views
0

Я пытаюсь понять взаимодействие между процессами в C с трубами. В следующем фрагменте кода я запускаю свою программу. Вот почему я думаю, что оба процесса должны работать, не дожидаясь другого. Но когда я бегу, я могу напечатать sth. в моей клавиатуре и после этого, родительский процесс распечатки моего введенного текста в прописные буквы и распечатать сообщениеC трубы inter process communication

Сво именно этот заказ «Здравствуйте, я процесс родительского процесса я ожидал..»:

Здравствуйте! Я - детский процесс. Почему мой родительский процесс ждет меня?

Тест вход

TEST ВХОД

Здравствуйте, я процесс родительского процесса. Я ждал.

Процесс закончил с кодом выхода 0

Но я исключено, что оба работают параллельно, так что родительский процесс должен выйти прежде, чем я вошел н .. Кроме того, я не могу понять, почему я получаю текст преобразован в верхние буквы, прежде чем я получу сообщение «Привет, я - процесс родительского процесса. Я ждал». В моем коде его обратный порядок. Сначала я распечатываю информацию, и после этого я распечатываю «тестовый ввод» в строчных буквах.

Это мой код: https://github.com/marvpaul/CPipesTest/blob/master/main.c

+0

Я немного сыграл с этим кодом, и кажется, что n = read (fd [0], zeile, MAX_ZEICHEN); ждет каких-либо входных данных перед продолжением. До сих пор? –

ответ

0

Команда чтения будет ждать команды записи для этой трубы.

 Смежные вопросы

  • Нет связанных вопросов^_^