Есть демон (написанный на С), который должен считывать данные из файла /proc/abc. Сейчас считывание производится с помощью
system( "cat /proc/abc > /tmp/result" );
Однако если демону приходит SIGTERM, процесс, порожденный system, становиться осиротевшим и блокирует доступ к /proc/abc. Соответственно, надо либо читать по-другому (как?), либо добавить в обработчик сигнала функцию, которая бы отсылала SIGTERM потомкам (как?). Подскажите выход из ситуации.