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