Назад | Перейти на главную страницу

Закрытие открытых дескрипторов в префорке apache2

Я запускаю mod_wsgi и Django на apache2 httpd 2.2.12. Я делаю довольно много вызовов os.system () и subprocess.Popen (), и мне было интересно: есть ли какая-либо опция / директива для настройки apache2, чтобы дочерние процессы prefork закрывали все файловые дескрипторы, кроме того, что используется для связи с основным предварительный процесс?

Если я получаю запрос на запуск процесса, а затем apache перезапускается, было замечено, что некоторые из этих процессов, инициированных apache, наследуют дескрипторы apache (то есть порт 80), что вызывает проблемы с привязкой apache при перезапуске. Я ищу способ закрыть все неиспользуемые дескрипторы.

Возможно, возможность открыть дескриптор порта 80 в дочернем процессе - это функция, позволяющая кому-либо взять на себя управление в случае сбоя основного процесса?

Это дубликат того же вопроса в списке рассылки mod_wsgi.

Вкратце: как правило, выполнять подпроцесс напрямую из процессов веб-сервера - это плохая практика. Более подробная информация будет предоставлена ​​при обсуждении в списке рассылки mod_wsgi.