У меня проблема со связью между дочерними процессами одного и того же отца процесса.
- Отцовский процесс создает N дочерних процессов.
- Каждый дочерний процесс имеет идентификатор.
- ID первого потомка - N, второго - (N-1),... и последнего - (1):
Процесс i мог продолжить работу только после того, как получил сигнал SIGRTMIN от процесса j= i-1 (брат ушел).
Процесс i мог завершиться только после того, как получил сигнал SIGRTMIN+1 от процесса j = i+1 > (брат справа).
родительский процесс может завершиться только после того, как закончатся все его дочерние процессы.
Вопрос: без использования IPC (очередь сообщений, разделяемая память, семафор) или ввода-вывода (сокет, канал, канал, файлы), как процесс узнает идентификатор процесса своего левого брата? и идентификатор процесса его брата справа.
For the question of brother left,
Я использую массив идентификаторов процессов. Точнее, в родительском процессе массив будет хранить идентификаторы процессов каждого созданного им дочернего процесса, когда процесс создается, он знает идентификатор процесса i-1 (процесс имеет ID = N-i+1). эм>
Но я не знаю, как получить идентификатор процесса i+1 (брат прав).