Лучший способ общаться между 3 процессами, используя именованные каналы и сигналы.

Поэтому моя задача - общаться между 3 процессами, используя сигналы и именованные каналы. Например, он должен работать так: я хочу закрыть все программы и освободить ресурсы всех процессов, для этого я отправляю SIGUSR1 процессу B(например), этот процесс сохраняет данные в конвейере о том, что я хочу сделать, отправляет сигнализируя другим двум процессам, они читают канал и в зависимости от того, что было записано в канале, они либо закрывают, либо прекращают связь друг с другом, либо продолжают связь (используя очереди сообщений).

Моя проблема в том, что я мог бы просто сделать 6 каналов между ними, чтобы у каждого канала был один читатель и один писатель, например 1-2 2-1,1-3,3-1 и т. Д., Но это потребовало бы много работы, поэтому мне было интересно если бы было какое-то более простое решение этой проблемы.

Я хотел использовать один канал и открывать его как чтение-запись во всех процессах, хотя я понял, что в одном канале могут быть один модуль записи и чтения.

У кого-нибудь есть более простое решение этой проблемы?

0 ответов

Другие вопросы по тегам