Ich habe einen Server, auf dem große Dateien gehostet werden, die Benutzer über die Website herunterladen können. Mein Problem ist, dass der Browser den Download trotzdem abschließt, wenn ich das Benutzerkonto deaktiviere, während der Benutzer die Datei herunterlädt.
Ich versuche Folgendes:
1. Find the active process responsible for the current (download) connection
2. Kill the process - so that users browser fails to download the file.
Wie kann ich den ersten Schritt durchführen? Ist Apache, PHP oder etwas anderes für die Dateiübertragung selbst verantwortlich? Ich habe wirklich keine Ahnung, wie ich von hier aus weitermachen soll. Danke!
Antwort1
Ich habe mich vor einiger Zeit mit etwas Ähnlichem beschäftigt. Apache verarbeitet definitiv die Anforderung für den Download. Ich würde mit dem mod_status
Modul von Apache beginnen. Zusammen mit top
und ps
können Sie möglicherweise den Prozess finden.
Wenn das Modul mod_status aktiviert ist, können Sie auf die Seite gehen http://your.server.name/server-status
und alle möglichen Statistiken abrufen -siehe Dokumentation.
Dies steht aus den Dokumenten:
[Wenn] Sie ermitteln möchten, welche Anfragen oder Clients das Problem verursachen ... Stellen Sie zunächst sicher, dass ExtendedStatus aktiviert ist, damit Sie die vollständigen Anfrage- und Clientinformationen für jedes untergeordnete Element oder jeden Thread sehen können ... Sehen Sie sich nun Ihre Prozessliste an (mithilfe von top oder einem ähnlichen Dienstprogramm zur Prozessanzeige), um die spezifischen Prozesse zu identifizieren, die die Hauptursache sind.