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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...