2015-03-25 1 views
0

У меня есть код, который разворачивает ряд детских «рабочих». Детский труд :(Свертывание детей в C и повторное наложение на молнию, когда они умирают

Это работает довольно хорошо сезам ребенок умирает из-за какой-то непредсказуемой ошибки и пропускной способности системы уменьшается.

Что такое хороший образец для контроля за детьми разбивая, а затем вновь разветвление их с тем же Титулы я уволил их с? Я не писал этот тип кода перед и это выглядит немного сложнее.

+1

какая часть непростая? –

ответ

2

Предполагая, что Unix-подобной операционной системы, вы можете использовать wait или waitpid в родительском контролировать подпроцессы синхронно. в качестве альтернативы , вы можете использовать SIGCHLD для наблюдения за ними асинхронно, и вызывать wait или waitpid в t он обработчик сигнала. Вы получите уведомление, когда подпроцессы завершаются (включая сбой).

Чтобы повторно развернуть ребенка с такими же параметрами при его сбое, вам придется записывать параметры для каждого ребенка.

Смежные вопросы