Обнаруживать, когда родительский процесс завершается

У меня будет родительский процесс, который будет использоваться для перезапуска веб-сервера. Он будет сигнализировать дочернему элементу о прекращении прослушивания новых запросов, дочерний элемент сообщит родителю, что он прекратил прослушивание, затем родитель будет сигнализировать новому дочернему элементу, что он может начать прослушивание. Таким образом, мы можем выполнить время простоя менее 100 мс для перезапуска этого уровня (у меня также есть перезапуск внука с нулевым временем простоя, но этого не всегда достаточно для перезапуска).

Диспетчер служб убьет родительский когда пришло время выключения. Как дочерний элемент может определить, что родительский процесс завершился?

Сигналы отправляются с использованием stdin и stdout дочернего процесса. Возможно, я смогу обнаружить конец потока стандартного ввода? Я надеюсь избежать интервала опроса. Кроме того, я бы хотел, чтобы это было действительно быстрое обнаружение, если это возможно.

45
задан MrEyes 4 April 2011 в 16:17
поделиться