Я реализую библиотеку для запуска команд. Библиотека C, в Linux.
В настоящее время выполняется вызов popen() для запуска команды и получения вывода. Проблема в том, что команда наследует все обработчики открытых файлов в настоящее время.
Если я сделал fork/exec, я мог явно закрыть обработчики в дочернем элементе. Но это означает повторное внедрение popen().
Можно ли установить close-on-exec на всех обработчиках, не перебирая их один за другим?
Можно ли установить close-on-exec по умолчанию для процесса?
Спасибо!