В настоящее время я пытаюсь сообщить о родительском процессе, который должен иметь процесс с несколькими дочерними элементами для каждого запроса, и хочу знать, как мне отслеживать количество дочерних процессов и проверять, завершился ли какой-либо из дочерних процессов?
Я пытался использовать каналы для связи с помощью функции read()
, чтобы отправить обратно сообщение о завершении.Однако это каким-то образом блокирует весь параллелизм и ожидает завершения 1-го дочернего процесса и отправки обратно сообщения завершения перед обработкой запросов следующего процесса.
Есть ли способ решить эту проблему?Или я должен использовать такие методы, как разделяемая память, сокеты и т. Д.?
Я использую язык Си, и мне просто нужно отслеживать, сколько у меня детей.Я могу увеличить счетчик в родительском процессе, но когда умирает ребенок?как вернуть это сообщение и использовать его для уменьшения счетчика в родительском элементе?