Как определить в подпроцессе, когда родительский процесс умер?

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

Я попробовал какой-то код, который перехватывает дочерний процесс до каждого доступного сигнала, и ни один из них не был запущен. Теоретически я мог бы применить гигантскую попытку / except вокруг родительского процесса, чтобы убедиться, что он хотя бы запускает sigterm для детей, но это неэлегантно и небезопасно. Как предотвратить потерянные процессы?

6
задан dave mankoff 5 August 2011 в 15:36
поделиться