Вопрос про параллельные процессы.(Си)
Написать программу, создающую и заполняющую текстовый файл. Информацию этого текстового файла через межпроцессный канал передать в параллельный процесс. В нем после каждого символа текста вписать в файл порядковый номер и передать через межпроцессный канал в параллельный процесс, где разделить каждый символ со своим номером пробелом. Из текущего процесса переслать полученную информацию в исходный процесс и там вывести на печать. Предусмотреть возможность прерывания от клавиатуры.
Мне не понятно как реализовать вот это действие: " Из текущего процесса переслать полученную информацию в исходный процесс и там вывести на печать."
Разве исходный процесс не будет уже выполнен? И если нет, то как к нему обратится. Читая про fork() и pipe() я ни где не встречал примеров с такими вот кульбитами, туда-сюда, между процессами. Может, у кого ссылка есть какая-нибудь, где подобное взаимодействие рассматривается? Я пока ни чего не нашёл, везде стандартный пример: создаём канал, создаём новый процесс форком, в процессе сыне что-то пишем в канал, в процессе отце читаем, и все.
Цитата: abskura
Мне не понятно как реализовать вот это действие: " Из текущего процесса переслать полученную информацию в исходный процесс и там вывести на печать."
А что именно здесь непонятно? Создаёте 2 пайпа. Через первый передаёте данные от родительского процесса дочернему, а через второй - от дочернего родительскому.
Цитата: abskura
Разве исходный процесс не будет уже выполнен?
Вы сами вольны распоряжаться тем, когда у Вас процесс должен сдохнуть. Можно ведь в исходном процессе ждать пока другой процесс не пришлёт нужную информацию.
Цитата: muturgan
Вы сами вольны распоряжаться тем, когда у Вас процесс должен сдохнуть. Можно ведь в исходном процессе ждать пока другой процесс не пришлёт нужную информацию.
Вот про это, видимо, я и не читал, буду искать инфу) Спасибо.