Gibt es einen Befehl, den ich ausführen kann, der offenlegt, welche Skripte einen PHP-Prozess anzeigen top
oderps aux
Antwort1
Da Sie verwenden php-fpm
, sehe ich nur ein paar Möglichkeiten, um zu sehen, was es tut/getan hat.
php-fpm Statusseite
Sie müssen die php-fpm-Statusseite mit der pm.status_path
Direktive konfigurieren, wie in derDokumente.
Dann müssen Sie Ihrem Webserver mitteilen, dass er den von Ihnen verwendeten Pfad pm.status_path
an php-fpm weitergeben soll. Diese Methode hängt vollständig vom Webserver ab.
Sobald dies erledigt ist, greifen Sie auf die PHP-FPM-Statusseite zu und verwenden den full
Abfrageparameter, um alle Worker anzuzeigen ( http://servername/status-phpfpm?full
, wenn Sie es pm.status_path
als eingerichtet haben status-phpfpm
).
Allerdings wird Ihnen hierdurch nicht der vollständige Verlauf der ausgeführten Skripts angezeigt, sondern nur, was jeder Worker zuletzt ausgeführt hat oder derzeit ausführt.
Webserver-Protokolle
Überprüfen Sie die Zugriffsprotokolle für Ihren Webserver.
Sie zeigen Ihnen, was ausgeführt wurde, und wenn sich Ihr gesamtes PHP in einem bestimmten Verzeichnis befindet oder mit einer .php
Erweiterung endet, sollte es mithilfe von relativ einfach zu finden sein grep
. Abhängig von Ihrem Dokumentstamm, Aliasen, URL-Umschreibungen und anderen Webserverkonfigurationen müssen Sie diese Protokolle möglicherweise ein wenig interpretieren, um den vollständigen Dateisystempfad eines bestimmten Skripts zu finden.
Diese Methode zeigt Ihnen nicht, wasmomentanläuft, weil, soweit ich weiß, die meisten Webserver nur in ihre Zugriffsprotokolle schreibennachdie Anfrage ist abgeschlossen und eine HTTP-Antwort wurde gesendet. Dies dient dazu, die Größe und den Statuscode protokollieren zu können.
Antwort2
Befehle, die Sie verwenden können:
pstree | grep php
ps aux | grep php
pstree-pstree-Informationen
ps-ps info
Die „Aux“-Schalter zeigen Ihnen:
- alle Prozesse der Benutzer
- zeigen Ihnen die Prozesse benutzerorientiert aufgelistet (nach Benutzernamen)
- zeigt Ihnen alle Prozesse an, nicht nur die, die an ein Terminal angeschlossen sind. Dazu gehören Prozesse wie Dienste wie crond, upowerd usw.
grep--grep-Informationen