У меня есть сервер, на котором размещены большие файлы, которые пользователи могут скачивать через веб-сайт. Моя проблема в том, что если я отключу учетную запись пользователя, пока он скачивает файл, браузер все равно завершит загрузку.
Вот что я пытаюсь сделать:
1. Find the active process responsible for the current (download) connection
2. Kill the process - so that users browser fails to download the file.
Как мне выполнить первый шаг? Apache, PHP или что-то еще отвечает за саму передачу файлов? Я действительно не знаю, что делать дальше.. Спасибо!
решение1
Я имел дело с чем-то подобным некоторое время назад. Apache определенно обрабатывает запрос на загрузку. Я бы начал с mod_status
модуля Apache. Вместе с top
и ps
вы, возможно, сможете найти процесс.
При включенном модуле mod_status вы можете зайти на страницу http://your.server.name/server-status
и получить всевозможную статистику -см. документацию.
Это из документов:
[Если] вы хотите определить, какие запросы или клиенты вызывают проблему... Во-первых, убедитесь, что у вас включен ExtendedStatus, чтобы вы могли видеть полную информацию о запросе и клиенте для каждого дочернего процесса или потока... Теперь просмотрите список процессов (используя top или аналогичную утилиту просмотра процессов), чтобы определить конкретные процессы, которые являются основными виновниками.